Il corso introduce gli studenti alle tecniche informatiche per la risoluzione di problemi. Quello che, in primo luogo, gli studenti acquisiranno da questo corso è l'arte della risoluzione computazionale dei problemi.
John V. Guttag, Introduction to Computation and Programming Using Python, The MIT Press, 2013.
Obiettivi Formativi
Gli studenti impareranno a utilizzare il calcolatore per risolvere problemi e impareranno ad applicare il pensiero computazionale per inquadrare problemi e per gestire il processo di estrazione dell'informazione dai dati in modo computazionale.
Prerequisiti
Il corso è rivolto a studenti con nessuna esperienza di programmazione.
Metodi Didattici
Il corso procederà più in ampiezza che in profondità: gli studenti affronteranno diversi argomenti, in modo da farsi un'idea di come il pensiero computazionale possa esser utilizzato per raggiungere un determinato obiettivo.
Modalità di verifica apprendimento
Svolgimento di esercizi durante il corso e presentazione di un progetto finale.
Programma del corso
Introduzione a Python. Semplici programmi numerici. Funzioni. Tipi strutturati. Verifica e correzione. Eccezioni e asserzioni. Classi e programmazione orientata agli oggetti. Complessità algoritmica. Algoritmi e strutture dati. Grafica. Programmi stocastici. Cammini casuali e visualizzazione dei dati. Simulazione Montecarlo. Capire i dati sperimentali. Statistiche. Problemi di ottimizzazione su grafi. Programmazione dinamica. Apprendimento automatico.