LEARNING WITH MASSIVE DATA

Anno accademico
2026/2027 Programmi anni precedenti
Titolo corso in inglese
LEARNING WITH MASSIVE DATA
Codice insegnamento
CM0622 (AF:733813 AR:436296)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6 su 12 di ALGORITHMS AND LEARNING OVER MASSIVE DATA
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
IINF-05/A
Periodo
II Semestre
Anno corso
1
Sede
VENEZIA
L'obiettivo dell'insegnamento è di dare allo studente le conoscenze necessarie per la progettazione e lo sviluppo di algoritmi efficient e scalabili per l'analisi di grandi volumi di dati anche in ambienti e distribuiti.
Si approfondiranno in particolare gli aspetti relativi alla scalabilità e alla performance del software, investigando diversi ambienti di sviluppo e acquisendo padronanza di algoritmi paralleli di data analysis e machine learning.
Alcuni casi di studio verranno scelti tra temi quali data mining, web search, e graph mining.
Il corso illustra le tecniche impiegate per risolvere problemi di analisi su grandi volumi di dati con algoritmi scalabili e distribuiti.
Gli studenti acquisiscono conoscenze sulle architetture di calcolo parallelo, sui paradigmi e sugli ambienti di programmazione parallela, e sulla progettazione di algoritmi per dataset massivi.

Gli studenti raggiungeranno i seguenti risultati di apprendimento:

i) Conoscenza e comprensione: comprensione dei concetti base del calcolo distribuito; comprensione dei costi di un programma di analisi di dataset massivi; comprensione dei pattern di progettazione di algoritmi per dataset massivi.

ii) Capacità di applicare conoscenza e comprensione: capacità di progettare e sviluppare algoritmi per dataset massivi; capacità di stimare e misurare la performance di un algoritmo distribuito; capacità di sviluppare algoritmi per dataset massivi tramite l'uso dei pattern di programmazione distribuita.

iii) Capacità di giudizio: capacità di analizzare e confrontare differenti metodi o algoritmi e di scegliere la più appropriata ad un dato problema sulla base di un modello di costo

iv) Abilità comunicative: saper esporre in maniera chiara e corretta i risultati sperimentali di una analisi comparativa tra differenti soluzioni e algoritmi.

v) Capacità di apprendimento: saper utilizzare in autonomia nuove tecniche e strumenti.
Lo studente deve possedere una buona conoscenza di algoritmi e complessità, programmazione Python, sistemi operativi.
- Recommender systems
- Classification, Clustering and Ranking
- Approximate Nearest Neighbour Search
- Large-scale parallelism, MapReduce, Apache Spark
- Association Rules Mining
- Graph Analysis
Note del docente.

Jure Leskovec, Anand Rajaraman, Jeffrey David Ullman. Mining of Massive Datasets 3rd Edition. Cambridge University Press 2020.
La verifica dell'apprendimento avviene tramite una prova scritta e la discussione orale di più assignments laboratoriali.

La prova scritta consiste in domande di carattere teorico e brevi esercizi di carattere pratico. La prova scritta valuta il raggiungimento dei risultati di apprendimento i) ii) e iii).

Ciascun assignments richiede di sviluppare un algoritmo per uno specifico problema di analysis di dataset massivi. Lo studente deve scegliere e motivare la soluzione secondo lui più opportuna e consegnare un report che verrà discusso con il docente.
Gli assignments valutano il raggiungimento dei risultati di apprendimento iii) iv) e v).

La gradazione del voto è data da 70% prova scritta e 30% assignments.
scritto e 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.

La gradazione del voto è data da 70% prova scritta e 30% assignments.

28-30L: Conoscenza approfondita dei metodi, ottima analisi e valutazione. Capacità di adottare nuovi strumenti software.
23-27: Buona padronanza dei temi trattati a lezione, buona chiarezza espositiva e buona capacità di applicazione ai casi di studio.
18-22: Sufficiente conoscenza dei temi trattati a lezione, scarsa padronanza della terminologia e sufficiente capacità di applicazione ai casi di studio.
Lezioni teoriche e casi di studio.
Programma definitivo.
Data ultima modifica programma: 02/07/2026