CODICE 61884 ANNO ACCADEMICO 2025/2026 CFU 9 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA 6 cfu anno 1 COMPUTER ENGINEERING 11965 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE Quando la dimensione dei dati strutturati e non supera la capacità dei sistemi di gestione dati tradizionali, sono necessari nuovi strumenti e metodi per l'acquisizione, l'archiviazione e la gestione degli stessi. Tali enormi quantità di dati sono in genere memorizzati in ambienti distribuiti su larga scala, elaborate utilizzando specifici ambienti, e richiedere strumenti specifici per la loro gestione. In questo contesto, l'informazione semantica riveste un ruolo rilevante. Poiché l'insegnamento viene tenuto in lingua inglese, si invita a visionare la scheda in inglese per ulteriori informazioni. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Learning the theoretical, methodological, and technological fundamentals of data management for advanced data processing architectures, with a specific reference to large-scale distributed environments, like key elements of NoSQL, basic issues in parallel and distributed query processing, and semantic data management. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine del corso, lo studente/la studentessa sarà in grado di: 6 CFU DESCRIVERE i principi della gestione dei dati nei sistemi distribuiti, gli ambienti per l’elaborazione di dati su larga scala e i sistemi per la gestione di dati su larga scala COMPRENDERE le differenze tra l'elaborazione e la gestione tradizionali dei dati e quelle su larga scala COMPRENDERE le differenze tra gli approcci presentati per la gestione di dati su larga scala SELEZIONARE il sistema e la metodologia per la gestione di dati su larga scala, adatti a un dato contesto applicativo UTILIZZARE alcuni dei sistemi presentati per la gestione di dati su larga scala per risolvere problemi semplici UTILIZZARE almeno uno dei sistemi presentati per la gestione di dati su larga scala per risolvere problemi non banali RISPONDERE a domande relative alla gestione di dati su larga scala RISOLVERE esercizi relativi alla progettazione dei dati in alcuni dei sistemi presentati e all’interazione con tali sistemi attraverso i linguaggi disponibili 9 CFU COMPRENDERE le differenze tra l'elaborazione e la gestione tradizionali dei dati e quelle su larga scala COMPRENDERE le differenze tra gli approcci presentati per la gestione di dati su larga scala, inclusi quelli progettati per applicazioni guidate dall’intelligenza artificiale (IA) SELEZIONARE il sistema e la metodologia per la gestione di dati su larga scala, adatti a un dato contesto applicativo (inclusi quelli progettati per applicazioni guidate dall’IA) UTILIZZARE alcuni dei sistemi presentati per la gestione di dati su larga scala (inclusi quelli progettati per applicazioni guidate dall’IA) per risolvere problemi semplici UTILIZZARE almeno uno dei sistemi presentati per la gestione di dati su larga scala (inclusi quelli progettati per applicazioni guidate dall’IA) per risolvere problemi non banali RISPONDERE a domande relative alla gestione di dati su larga scala (incluse le problematiche relative a sistemi progettati per applicazioni guidate dall'IA) RISOLVERE esercizi relativi alla progettazione dei dati in alcuni dei sistemi presentati e all’interazione con tali sistemi attraverso i linguaggi disponibili PREREQUISITI I prerequisiti corrispondono a nozioni di base sulla gestione dei dati nei sistemi tradizionali: Modello dei dati, nozione di schema e istanza Modello concettuale dei dati Modello relazionale (modello logico) Progettazione concettuale Progettazione logica Basi della teoria della normalizzazione Algebra relazionale SQL Indici Transazioni MODALITA' DIDATTICHE Per LM in Computer Science: Lezioni, laboratorio e progetto Per LM in Computer Engineering: Lezioni, laboratorio e progetto PROGRAMMA/CONTENUTO Ripasso sulle architetture distribuite su larga scala e sul calcolo data-intensive (solo 6 CFU) Ripasso su big data e architetture distribuite Principi della gestione dei dati su larga scala Approcci architetturali per la gestione dei dati su larga scala Ripasso sugli ambienti per l’elaborazione di dati su larga scala (MapReduce, Spark) Sistemi per la gestione di dati su larga scala (6–9 CFU) Introduzione ai sistemi NoSQL (6-9 CFU) Modelli di dati NoSQL Archivi di tipo key-value Archivi basati su documenti Archivi a famiglie di colonne Archivi basati su grafi Gestione dei dati per applicazioni guidate dall'IA (solo 9 CFU) Problematiche relative alla gestione dei dati per applicazioni guidate dall'IA Modelli di dati, linguaggi e sistemi per applicazioni guidate dall'IA TESTI/BIBLIOGRAFIA Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, Pierre Senellart. Web Data Management. Cambridge University Press, 2011. P.J. Sadalage, M.Fowler. Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison Wesley, 2013 Jeff Carpenter, Eben Hewitt, Cassandra: The Definitive Guide, O'Reilly Media, 2016 Ian Robinson, Jim Webber & Emil Eifrem. Graph Databases, New Opportunities for Connected Data, 2nd Edition, O’Reilly, 2015 Ulteriori riferimenti e materiali verranno forniti dai docenti. DOCENTI E COMMISSIONI BARBARA CATANIA Ricevimento: Su appuntamento, via email o Microsoft Teams Stanza: Valle Puggia – 327 GIOVANNA GUERRINI Ricevimento: GIOVANNA GUERRINI: Su appuntamento, via email o Microsoft Teams Stanza: Valle Puggia – 301 LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Esame scritto (verranno proposte un numero diverso di domande a seconda del numero di CFU); sviluppo di un progetto (obbligatorio); esame orale. Durante il semestre verranno proposti alcuni assignment, da svolgere su uno dei sistemi presentati. Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa MODALITA' DI ACCERTAMENTO I dettagli su come prepararsi all'esame e sul livello di conoscenza richiesto per ciascun argomento saranno forniti durante le lezioni. L’esame scritto consiste in un insieme di domande aperte, chiuse ed esercizi su argomenti di base del corso: l’obiettivo delle domande aperte e chiuse è verificare la comprensione delle principali tematiche affrontate durante le lezioni, mentre gli esercizi mirano a valutare la capacità di selezionare il sistema adeguato per un determinato scenario e risolvere problemi semplici relativi alla modellazione dei dati e alle interrogazioni nei sistemi per la gestione di dati su larga scala. Il progetto consiste nella progettazione e implementazione di un data store utilizzando uno dei sistemi presentati durante il corso; la presentazione dell’attività svolta serve a verificare la capacità di utilizzare almeno un sistema per la gestione di dati su larga scala per risolvere problemi non banali, nonché la capacità di comunicare (per iscritto) il risultato dell’attività in modo chiaro e completo. L’esame orale consiste nella presentazione delle soluzioni sviluppate dallo studente per il progetto assegnato, al fine di valutare il livello di conoscenza raggiunto e la capacità di comunicare (oralmente) il risultato dell’attività in modo chiaro e completo. Per gli studenti che non completano con successo gli assignment, l’esame orale includerà anche domande teoriche ed esercizi sugli argomenti dell'insegnamento, per valutare meglio la comprensione delle principali tematiche affrontate durante le lezioni. ALTRE INFORMAZIONI Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.