ADVANCED PROGRAMMING WITH DATA

Anno accademico
2026/2027 Programmi anni precedenti
Titolo corso in inglese
ADVANCED PROGRAMMING WITH DATA
Codice insegnamento
CM0659 (AF:734602 AR:436690)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
IINF-05/A
Periodo
II Semestre
Anno corso
1
Sede
VENEZIA
Il corso si focalizza sulla progettazione di progetti robusti di analisi dei dati e di machine learning. L'attenzione è rivolta al progetto nel suo complesso — dall'acquisizione e messa in forma di dati reali e disordinati, alla validazione e strutturazione di un'analisi affinché i suoi risultati siano difendibili, fino alla costruzione e valutazione di modelli predittivi. I contenuti sono sempre ancorati a dati ambientali reali (qualità dell'aria, idrologia, meteorologia, monitoraggio). Il corso è adatto a studenti di qualsiasi provenienza, che abbiano già studiato o meno il machine learning.
Conoscenza e comprensione. Principi di progettazione affidabile dell'elaborazione dei dati; lo stack Python per i dati (NumPy, pandas); validazione e testing dei dati; meccanismi di funzionamento del machine learning (fitting, discesa del gradiente, valutazione).

Applicazione della conoscenza e comprensione. Acquisire, pulire e trasformare dati reali; interrogazione e visualizzazione dei dati; addestrare e valutare modelli di machine learning standard.

Autonomia di giudizio. Valutare l'affidabilità e l'accuratezza di un modello; scegliere meccanismi e metriche appropriati.
- Familiarità con i concetti della programmazione (qualsiasi linguaggio) e logica di base della programmazione.
- Basi di statistica e algebra lineare.
- Python non dato per scontato: materiale di ripasso autonomo, ripreso a inizio corso.
- Corso di machine learning: utile ma non richiesto.
1. Introduzione: strumenti e ripasso di Python
2. Fondamenti di programmazione: funzioni, uso degli oggetti, NumPy e vettorizzazione
3. Dati tabellari: tidy data, group-by, serie temporali, formati di file
4. Acquisizione e interrogazione dei dati: file, API web, SQL con DuckDB
5. Ingegneria del codice: validazione dei dati, testing, packaging
6. Visualizzazione: scegliere e leggere i grafici
7. Machine learning: meccanismi fondamentali, addestramento e uso dei modelli, valutazione
- W. McKinney, *Python for Data Analysis*.
- J. VanderPlas, *Python Data Science Handbook* (available online).
- Official documentation for pandas, scikit-learn, DuckDB, pandera, and the visualization libraries used in the course.
- Progetto di gruppo: una pipeline dai dati al modello; valutata su correttezza, validazione, testing e documentazione.
- Esame orale individuale: ogni membro esaminato singolarmente sul progetto e sui suoi concetti; verifica il contributo individuale.

orale

Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.

- Progetto di gruppo 50%.
- Esame orale individuale 50%
Le lezioni introducono ciascun argomento e le esercitazioni di laboratorio supervisionate lo mettono in pratica. Il lavoro di laboratorio confluisce in un progetto di corso sviluppato in modo incrementale lungo tutto il corso.

Questo insegnamento tratta argomenti connessi alla macroarea "Capitale umano, salute, educazione" e concorre alla realizzazione dei relativi obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile

Programma definitivo.
Data ultima modifica programma: 02/07/2026