65094 - ADVANCED PROGRAMMING

Anno Accademico 2023/2024

  • Docente: Enrico Baglione
  • Crediti formativi: 6
  • SSD: INF/01
  • Lingua di insegnamento: Inglese
  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea Magistrale in Science of Climate (cod. 5895)

Conoscenze e abilità da conseguire

This course will be devoted to complete the preparation by giving the student all elements of programming with modern languages: e.g. python, object-oriented programming.

Contenuti

Il linguaggio di programmazione Python: dalle basi alla programmazione avanzata per il calcolo scientifico.La prima parte include una rapida panoramica su variabili, tipi di dati, operatori, strutture di controllo, funzioni, liste, tuple, dizionari, gestione dei file. Nella seconda parte lo studente inizierà ad esplorare la versatilità e la potenza del calcolo scientifico, imparando a maneggiare librerie essenziali come NumPy, SciPy, Pandas, Matplotlib e Scikit-Learn. Queste librerie saranno gli strumenti per gestire, analizzare e visualizzare in modo efficiente grandi set di dati comunemente incontrati nella ricerca scientifica. Lo studente applicherà le competenze apprese nella risoluzione di semplici equazioni fisiche (es. equazioni di D'Alembert, equazione del calore, equazione del trasporto) con l'ausilio della modellazione numerica di base, nell'estrazione delle principali proprietà statistiche da dataset fisici e nel confronto con previsioni teoriche, nella visualizzazione e rappresentazione grafica dei dataset e delle loro proprietà. Il corso introdurrà ad alcune nozioni di base sui comandi  shell per ottimizzare e automatizzare flussi di lavoro e serie di codici.

Testi/Bibliografia

- Appunti del docente.

- How to Think Like a Computer Scientist: Learning with Python, di Allen Downey, Jeff Elkner e Chris Meyers. Gree Tea Press (available at: https://media.readthedocs.org/pdf/howtothink/latest/howtothink.pdf)

- Python in Earth Science, a brief introduction by Sujan Koirala and Jake Nelson (Max Planck Institute for Biogeochemistry, Jena, Germany) (http://hydro.iis.u-tokyo.ac.jp/~sujan/docs/PythonInEarthScience.pdf )

Metodi didattici

Lezioni frontali con esempi pratici ed esercitazioni al calcolatore

Modalità di verifica e valutazione dell'apprendimento

La valutazione consisterà in un colloquio orale incentrato sugli argomenti trattati nel corso. Durante il colloquio, allo studente verrà chiesto di discutere un codice sviluppato durante il corso, applicando le metodologie e le competenze acquisite. Inoltre, verranno presentati problemi pratici e situazioni relative ai temi del corso: ci si aspetta che lo studente fornisca soluzioni e approfondimenti basati sulle proprie competenze e comprensione.

Strumenti a supporto della didattica

Lezioni frontali con esempi pratici ed esercitazioni al calcolatore

Orario di ricevimento

Consulta il sito web di Enrico Baglione