Insegnamento DATA INTENSIVE APPLICATION AND BIG DATA
Nome del corso | Ingegneria informatica e robotica |
---|---|
Codice insegnamento | A003171 |
Curriculum | Comune a tutti i curricula |
Docente responsabile | Fabrizio Montecchiani |
Docenti |
|
Ore |
|
CFU | 6 |
Regolamento | Coorte 2023 |
Erogato | Erogato nel 2024/25 |
Erogato altro regolamento | |
Attività | Caratterizzante |
Ambito | Ingegneria informatica |
Settore | ING-INF/05 |
Tipo insegnamento | Opzionale (Optional) |
Tipo attività | Attività formativa monodisciplinare |
Lingua insegnamento | Italiano. |
Contenuti | -Introduzione ai Big Data -Modelli e tecnologie di programmazione per computazioni distribuite -Database distribuiti e tecnologie NoSQL |
Testi di riferimento | La disciplina affronta un insieme di metodologie e tecnologie correlate che non sono contenute in un singolo libro di testo. Al fine di facilitare lo studente, gli argomenti trattati a lezione sono illustrati in dispense a cura del docente. |
Obiettivi formativi | L'insegnamento si prefigge di impartire agli studenti le nozioni teoriche e pratiche sulla progettazione e sviluppo di applicazioni data intensive. |
Prerequisiti | Sono richieste conoscenze relativamente alla progettazione e all'analisi di algoritmi, alla programmazione imperativa e ad oggetti tramite il linguaggio Java, alle basi di dati relazionali. |
Metodi didattici | Il corso si articola in due principali tipologie di lezioni: Lezioni frontali (per circa il 60% del tempo totale): vengono svolte lezioni frontali in aula. Ogni lezione consiste nell'illustrazione da parte del docente di nuovi concetti teorici, attraverso la proiezione di appositi lucidi. Esercitazioni guidate in laboratorio (per circa il 40% del tempo totale): si svolgono nel laboratorio di ingegneria del software, e prevedono la progettazione e l'implementazione di programmi sotto la guida del docente. |
Altre informazioni | Nessuna. |
Modalità di verifica dell'apprendimento | I metodi di valutazione di questo insegnamento cercano di quantificare le conoscenze teoriche acquisite dallo studente, nonché la sue capacità di applicare tali conoscenze per la risoluzione di problemi applicativi. I tipi di prove previste per la valutazione sono descritti qui di seguito. - Prova orale di natura teorica e applicativa Durata: 30 minuti Punteggio: 15/30 Obiettivo: accertare le conoscenze sui concetti teorici impartiti nell'insegnamento e valutare abilità di programmazione. - Progetto Presentazione e discussione di un elaborato (codice software e documentazione di progetto) Punteggio: 15/30 Obiettivo: accertare le abilità pratiche acquisite in relazione alle tematiche del corso. |
Programma esteso | Il programma potrebbe subire aggiornamenti in prossimità dell'erogazione del corso. 1. Introduzione a. Introduzione ai Big Data b. Scaling up vs scaling out c. Concetti basi per la gestione dei Big Data 2. Parte I: Modelli e tecnologie di programmazione per computazioni distribuite a. Il modello MapReduce b. La piattaforma Hadoop c. Apache Spark 3. Parte II: Database distribuiti e tecnologie NoSQL a. Principi di database distribuiti b. Il teorema CAP e oltre c. NoSQL technologies d. Vector databases |
Obiettivi Agenda 2030 per lo sviluppo sostenibile |