Programming for chemistry
A.A. 2025/2026
Obiettivi formativi
L'insegnamento introduce gli studenti alla programmazione imperativa facendo riferimento al linguaggio Python. Il corso è diviso in due parti: la prima presenta Python e le sue funzionalità orientate agli oggetti, la seconda si concentra sulle librerie che possono essere utili nel calcolo scientifico e nell'analisi dei dati, in particolare NumPy e SciPy.
Risultati apprendimento attesi
Gli studenti acquisiranno la capacità di scrivere e mettere a punto un programma che automatizza semplici attività computazionali. Saranno in grado di comprendere come funziona un breve codice Python, di trovare le ragioni di un malfunzionamento e di correggerlo in modo appropriato. Inoltre, gli studenti saranno in grado di utilizzare le librerie NumPy e SciPy per risolvere i più comuni problemi numerici nella chimica-fisica.
Periodo: Primo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Primo semestre
Programma
Introduzione alla programmazione. Pensiero algoritmico. Tipi di dati nativi. Funzioni, controllo di flusso e iterazioni. Strutture dati di base: liste, tuple, dizionari. Programmazione orientata agli oggetti. Iteratori e generatori. File I/O. Array e matrici multidimensionali Numpy. Grafici con Matplotlib. Applicazioni delle routine Scipy all'elaborazione delle immagini, trasformata di Fourier delle serie temporali, soluzione di equazioni differenziali.
Prerequisiti
Nessun prerequisito richiesto. È consigliabile una conoscenza elementare dell'uso del PC.
Metodi didattici
Il corso si articola in lezioni frontali e si avvale dell'utilizzo sia di diapositive che di dimostrazioni pratiche interattive di programmazione.
Materiale di riferimento
Diapositive fornite dal docente. In aggiunta il libro disponibile online: "How to think as a computer scientist: Learning with Python 3" (https://openbookproject.net/thinkcs/python/english3e/). Documentazione online dei pacchetti Numpy, Scipy e Matplolib.
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame sarà orale si basa su esercizi di programmazione. Viene assegnato un voto finale (su una scala di 30 punti) tenendo conto della conoscenza della materia e degli strumenti, nonché della chiarezza delle soluzioni.
Siti didattici
Docente/i