Insegnamento DATA INTENSIVE APPLICATION AND BIG DATA

Nome del corso di laurea Ingegneria informatica e robotica
Codice insegnamento A003171
Curriculum Comune a tutti i curricula
Docente responsabile Fabrizio Montecchiani
Docenti
  • Fabrizio Montecchiani
Ore
  • 48 Ore - Fabrizio Montecchiani
CFU 6
Regolamento Coorte 2023
Erogato Erogato nel 2024/25
Erogato altro regolamento
Informazioni sull'attività didattica
Attività Caratterizzante
Ambito Ingegneria informatica
Settore ING-INF/05
Anno 2
Periodo Secondo Semestre
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
Condividi su