BIG DATA

Vincenzo DEUFEMIA BIG DATA

0522700002
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
SICUREZZA INFORMATICA E TECNOLOGIE CLOUD
2023/2024

OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2023
SECONDO SEMESTRE
CFUOREATTIVITÀ
756LEZIONE
216LABORATORIO
Obiettivi
L’insegnamento ha l’obiettivo di fornire agli studenti le competenze metodologiche e tecnologiche necessarie per la progettazione di grandi collezioni di dati, incluso collezioni e stream di dati generati da sensori o social network, eventualmente utilizzando architetture distribuite e paradigmi distribuiti per la loro elaborazione. Ciò anche al fine di fornire agli studenti gli strumenti necessari per effettuare analisi complesse di tali dati, per mezzo di algoritmi di data e sequence mining, nonché modelli di machine learning, incluso reti neurali, e di far comprendere loro le principali tecniche di visualizzazione dei risultati.

Conoscenza e capacità di comprensione
Lo studente:
•conoscerà i fondamenti metodologici e tecnologici per acquisire, organizzare, ed elaborare grandi collezioni di dati distribuite in cloud anche in conformità a regolamenti di data privacy;
•comprenderà quali sono le tecniche più appropriate da utilizzare nelle diverse applicazioni del mondo reale per estrarre conoscenza da grandi collezioni di dati, più o meno strutturati, incluso dati sensoristici e dati di reti sociali;
•conoscerà le principali tecniche di data preparation ed i principali modelli di apprendimento automatico, supervisionato e non, acquisendo la capacità di utilizzarli in applicazioni del mondo reale;
•comprenderà i principali concetti inerenti le serie di dati, per affrontare problemi in discipline emergenti quali l’anomaly detection ed i sistemi di raccomandazione;
•conoscerà le principali tecniche per la comunicazione visuale dei risultati di applicazioni di big data analytics, data mining e machine learning.

Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di:
•progettare ed implementare sistemi per elaborare grandi collezioni di dati complessi, distribuiti ed eterogenei, scegliendo le architetture ed i modelli più appropriati alla problematica in esame;
•ispezionare grandi dataset al fine di individuare problemi di privacy;
•preformattare grandi dataset per prepararli all’utilizzo nell’addestramento di modelli predittivi;
•utilizzare linguaggi e strumenti per effettuare complesse analisi dei dati, incluso dati di streaming, serie di dati, nonché per addestrare modelli predittivi, incluso modelli basati su reti neurali.

Autonomia di giudizio
Lo studente acquisirà capacità teoriche e pratiche che gli consentiranno di sviluppare soluzioni utili in vari ambiti disciplinari. In qualunque contesto in cui vengono generati grandi quantità o serie di dati lo studente sarà in grado di individuare le soluzioni architetturali, i modelli e gli algoritmi più appropriati per estrarre conoscenze utili da tali dati e risolvere problematiche di privacy, sicurezza, individuare anomalie, monitorare pazienti, etc. Ciò potendo contare non solo sul bagaglio di metodi trattati durante il corso, ma anche sulla propria capacità di approfondire autonomamente ulteriori metodi presenti in letteratura, grazie ad un’acquisita padronanza dei concetti fondamentali.

ABILItà comunicative
-Lo studente acquisirà le necessarie abilità comunicative per ottenere il coinvolgimento attivo degli stakeholder di vari domini applicativi nelle attività di progettazione, al fine di effettuare scelte progettuali condivise, nonché di ottenere informazioni utili al processo di progettazione, come ad esempio etichettare dataset per attività di addestramento supervisionato.
-Lo studente acquisirà inoltre abilità comunicative per far comprendere a stakeholder di vari domini applicativi i risultati di complesse attività di analisi dei dati e di modelli predittivi, acquisendo al contempo la capacità di scegliere le notazioni visuali e le terminologie più appropriate al know how dello stakeholder di uno specifico dominio applicativo.

Capacità di apprendimento
Lo studente sarà in grado di apprendere le dinamiche dei processi di elaborazione di dati complessi in vari ambiti applicativi. Grazie ad un’acquisita padronanza delle tecniche studiate durante il corso, lo studente sarà in grado di comprendere i limiti di sostenibilità o di etica nell’applicabilità delle stesse, oltre che di comprendere il funzionamento di eventuali soluzioni tecnologiche dello specifico contesto applicativo, comprendendo come i metodi e le tecniche studiate possano migliorare il loro utilizzo.

Prerequisiti
LO STUDENTE DEVE CONOSCERE I FONDAMENTI DI DATA MANAGEMENT, SISTEMI DISTRIBUITI, PARADIGMA AD OGGETTI ED UN LINGUAGGIO DI PROGRAMMAZIONE.
Contenuti
DOPO UNA PANORAMICA SUI NUOVI SCENARI APPLICATIVI LEGATI ALLA GESTIONE DI GRANDI COLLEZIONI DI DATI DISTRIBUITI ED ETEROGENEI, INCLUSO LE POTENZIALITÀ DI TECNOLOGIE CAPACI DI ESTRARRE CONOSCENZA DAI DATI, IL CORSO SI CONCENTRERÀ SUI SEGUENTI ARGOMENTI:

BIG DATA (8 ORE DI TEORIA)
•PROBLEMATICHE DI BIG DATA (2 ORE DI TEORIA)
•TECNOLOGIE DI SUPPORTO AI BIG DATA (1 ORA DI TEORIA)
•MAPREDUCE (3 ORE DI TEORIA)
•HADOOP DISTRIBUTED FILE SYSTEM (HDFS) (2 ORE DI TEORIA)

DATABASE DISTRIBUITI (8 ORE DI TEORIA)
•TECNICHE DI FRAMMENTAZIONE, REPLICA E ALLOCAZIONE DEI DATI (2 ORE DI TEORIA)
•CONTROLLO DELLA CONCORRENZA NEI DATABASE DISTRIBUITI (1 ORA DI TEORIA)
•GESTIONE DELLE TRANSAZIONI NEI DATABASE DISTRIBUITI (1 ORA DI TEORIA)
•QUERY PROCESSING NEI DATABASE DISTRIBUITI (1 ORA DI TEORIA)
•TIPI DI SISTEMI DI DATABASE DISTRIBUITI (1 ORA DI TEORIA)
•ARCHITETTURE DI DATABASE DISTRIBUITI (1 ORA DI TEORIA)
•GESTIONE DISTRIBUITA DEL CATALOGO (1 ORA DI TEORIA)

DATABASE NOSQL E SISTEMI DI MEMORIZZAZIONE DI BIG DATA (6 ORE DI TEORIA)
•INTRODUZIONE AI SISTEMI NOSQL (2 ORE DI TEORIA)
•SISTEMI NOSQL DOCUMENT-BASED E MONGODB (1 ORA DI TEORIA)
•DATABASE NOSQL CHIAVE-VALORE (1 ORA DI TEORIA)
•SISTEMI NOSQL COLUMN-BASED O WIDE COLUMN (1 ORA DI TEORIA)
•DATABASE NOSQL BASATI SU GRAFI E NEO4J (1 ORA DI TEORIA)

DATABASE SECURITY (8 ORE DI TEORIA)
•INTRODUZIONE DELLA PROBLEMATICHE DI DATABASE SECURITY (1 ORA DI TEORIA)
•CONTROLLO DEGLI ACCESSI NEI DATABASE (2 ORE DI TEORIA)
•SQL INJECTION (1 ORA DI TEORIA)
•INTRODUZIONE ALLA SICUREZZA DEI DATABASE STATISTICI (1 ORA DI TEORIA)
•INTRODUZIONE AL CONTROL-FLOW (1 ORA DI TEORIA)
•PROBLEMATICHE E PROTEZIONE DELLA PRIVACY (1 ORA DI TEORIA)
•SFIDE PER LA SALVAGUARDIA DELLA SICUREZZA DEI DATABASE (1 ORA DI TEORIA)

SEQUENZE DI DATI (5 ORE DI TEORIA)
• IL MODELLO DATA STREAM (1 ORA DI TEORIA)
• CAMPIONAMENTO DEI DATI IN UNO STREAM (1 ORA DI TEORIA)
• PRINCIPALI ALGORITMI PER L’ANALISI DI DATA STREAM (3 ORE DI TEORIA)

ANALISI DI SERIE DI DATI (5 ORE DI TEORIA)
•INTRODUZIONE ALLE SERIE DI DATI (1 ORA DI TEORIA)
•RAPPRESENTAZIONE DI SERIE DI DATI (1 ORA DI TEORIA)
•MISURE DI DISTANZA PER SERIE DI DATI (2 ORE DI TEORIA)
•METODI DI ANALISI (1 ORA DI TEORIA)

MACHINE LEARNING (16 ORE DI TEORIA)
•CONCETTI INTRODUTTIVI (1 ORA DI TEORIA)
•DATA PREPARATION (2 ORE DI TEORIA)
•MODELLI DI ADDESTRAMENTO (1 ORE DI TEORIA)
•CLASSIFICAZIONE/REGRESSIONE (1 ORE DI TEORIA)
•DATA MINING E ALGORITMO APRIORI (2 ORE DI TEORIA)
•ALBERI DI DECISIONE (2 ORE DI TEORIA)
•ENSEMBLE LEARNING E RANDOM FOREST (1 ORE DI TEORIA)
•CLUSTERING (2 ORE DI TEORIA)
•CENNI SULLA RIDUZIONE DELLA DIMENSIONALITÀ (1 ORE DI TEORIA)
•INTRODUZIONE ALLE RETI NEURALI (1 ORA DI TEORIA)
•PERCETTRONI MULTILIVELLO E RETI NEURALI PROFONDE (2 ORE DI TEORIA)


LABORATORIO (16 ORE)
•FRAMEWORK PER L’ELABORAZIONE DISTRIBUITA DI DATI (4 ORE)
•IL LINGUAGGIO PYTHON (4 ORE)
•SCIKIT-LEARN (2 ORE)
•STRUMENTI PER LA VISUALIZZAZIONE DEI DATI (2 ORE)
•TENSOR FLOW (2 ORE)
•CASI DI STUDIO (2 ORE)
Metodi Didattici
L’INSEGNAMENTO PREVEDE 56 ORE DI DIDATTICA FRONTALE SU ARGOMENTI TEORICI E 16 ORE DI LABORATORIO, CON L’OBIETTIVO DI PRESENTARE I CONCETTI E SVILUPPARE CAPACITÀ DI ANALIZZARE PROBLEMATICHE DI BIG DATA, CON PARTICOLARE RIFERIMENTO AD ASPETTI DI PRIVACY E SICUREZZA, NONCHÉ DI PROGETTARE E IMPLEMENTARE SOLUZIONI IDONEE. GLI ARGOMENTI DEL PROGRAMMA VENGONO PRESENTATI CON L’AUSILIO DI PRESENTAZIONI POWERPOINT, STIMOLANDO DISCUSSIONI CRITICHE CON LA CLASSE. PER OGNI ARGOMENTO TRATTATO, VENGONO ILLUSTRATI POSSIBILI TASK CHE POSSONO ESSERE OGGETTO DI UN PROGETTO DI CORSO DA PARTE DI UNO O PIÙ STUDENTI. PER QUANTO RIGUARDA IL LABORATORIO, OLTRE ALL’UTILIZZO DI PRESENTAZIONI POWERPOINT, NELLE QUALI VENGONO PRESENTATI CONCETTI ED EVENTUALI LINK A FORUM, MANUALI E SITI DI APPROFONDIMENTO, DURANTE L’ORARIO DI RICEVIMENTO VIENE OFFERTA AGLI STUDENTI LA POSSIBILITÀ DI CHIEDERE SUPPORTO IN MERITO A SIMULAZIONI DA ESSI EFFETTUATE SUL PROPRIO COMPUTER, DI CHIEDERE CHIARIMENTI E RISOLVERE EVENTUALI PROBLEMI TECNICI INSIEME AL DOCENTE.
Verifica dell'apprendimento
IL RAGGIUNGIMENTO DEGLI OBIETTIVI DELL’INSEGNAMENTO E CERTIFICATO MEDIANTE IL SUPERAMENTO DI UN ESAME CON VALUTAZIONE IN TRENTESIMI. L'ESAME PREVEDE LO SVILUPPO DI UN PROGETTO ED UNA PROVA ORALE.
IL PROGETTO È FINALIZZATO AD ACCERTARE LA CAPACITA DI APPLICARE LE CONOSCENZE ACQUISITE IN SCENARI REALI. ESSO PUÒ ESSERE SVOLTO INDIVIDUALMENTE O IN GRUPPI DI MASSIMO 3 PERSONE, SCEGLIENDO TRA UN VENTAGLIO DI PROPOSTE FATTE DAL DOCENTE. DURANTE LO SVOLGIMENTO DEL PROGETTO, GLI STUDENTI POTRANNO INTERAGIRE CON IL DOCENTE AL FINE DI COMUNICARE GLI STATI DI AVANZAMENTO DELLO STESSO E LE EVENTUALI CRITICITÀ EMERSE, CONCORDANDO OBIETTIVI E MODALITÀ DI PROSECUZIONE. AL TERMINE, GLI STUDENTI DEVONO CONSEGNARE AL DOCENTE UNA TESINA CONTENENTE LA DOCUMENTAZIONE DI PROGETTO RICEVENDO, DOPO QUALCHE SETTIMANA, UNA PRIMA VALUTAZIONE DELLO STESSO. QUEST’ULTIMA POTREBBE CONTENERE RICHIESTE DI INTEGRAZIONE E/O DI REVISIONE DEL LAVORO SVOLTO. PERTANTO, OCCORRE SOTTOMETTERE I RISULTATI DEL PROGETTO CON DIVERSE SETTIMANE DI ANTICIPO RISPETTO ALLA DATA IN CUI SI INTENDE SOSTENERE LA PROVA ORALE, ONDE CONSENTIRE AL DOCENTE DI EFFETTUARE LA CORREZIONE ED AL GRUPPO DI PROGETTO DI APPORTARE LE EVENTUALI CORREZIONI RICHIESTE. UNA VOLTA COMPLETATO IL PROGETTO, AL GRUPPO DI LAVORO POTREBBE ESSERE RICHIESTO DI PREPARARE UNA TESINA ED UNA PRESENTAZIONE POWERPOINT DELLA DURATA DI CIRCA 30 MINUTI.
LA PROVA ORALE INVECE CONSISTE IN UN COLLOQUIO CON DOMANDE E DISCUSSIONE SUI CONTENUTI TEORICI E METODOLOGICI TRATTATI A LEZIONE ED E FINALIZZATA AD ACCERTARE LA CAPACITA DI CONOSCENZA E COMPRENSIONE, NONCHÉ LA CAPACITA DI ESPOSIZIONE DEI CONCETTI. LA PROVA ORALE RAPPRESENTA LA PROVA FINALE, PERTANTO ESSA PUÒ ESSERE SVOLTA SOLO DOPO IL COMPLETAMENTO E LA DISCUSSIONE DEL PROGETTO.
IL VOTO FINALE SCATURISCE, GENERALMENTE, DALLA MEDIA DEI VOTI IN TRENTESIMI CONSEGUITI AL PROGETTO ED ALLA PROVA ORALE.
Testi
1.RAMEZ ELMASRI AND SHAMKANT B. NAVATHE, FUNDAMENTALS OF DATABASE SYSTEMS, 7^ EDIZIONE, PEARSON, 2016.
2.P. ATZENI, S. CERI, P. FATERNALI, S. PARABOSCHI, R. TORLONE, BASI DI DATI, 6^ EDIZIONE, MC GRAW-HILL, 2023.
3.JURE LESKOVEC, ANAND RAJARAMAN, JEFFREY D. ULLMAN, MINING OF MASSIVE DATASETS”, 3^ EDIZIONE, CAMBRIDGE UNIVERSITY PRESS, 2020.
4.AURÉLIEN GÉRON, " HANDS-ON MACHINE LEARNING WITH SCIKIT-LEARN, KERAS, AND TENSORFLOW: CONCEPTS, TOOLS, AND TECHNIQUES TO BUILD INTELLIGENT SYSTEMS “,2^ EDIZIONE, O REILLY ED, 2019.
5.P. DEITEL, H. DEITEL, INTRODUZIONE A PYTHON – PER L’INFORMATICA E LA DATA SCIENCE, PEARSON 2021.
Altre Informazioni
LA FREQUENZA DEL CORSO È FORTEMENTE CONSIGLIATA. GLI STUDENTI DEVONO ESSERE PREPARATI A TRASCORRERE UNA CONGRUA QUANTITÀ DI TEMPO NELLO STUDIO AL DI FUORI DELLE LEZIONI. UNA PREPARAZIONE SODDISFACENTE RICHIEDE IN MEDIA 1 ORA DI STUDIO PER CIASCUNA ORA TRASCORSA IN AULA E CIRCA 80 ORE PER LO SVILUPPO DEL PROGETTO.
IL MATERIALE DELLE LEZIONI SARÀ DISPONIBILE SULLA PIATTAFORMA E-LEARNING DIPARTIMENTALE HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM/

CONTATTI
PROF. GIUSEPPE POLESE
GPOLESE@UNISA.IT
PROF. VINCENZO DEUFEMIA
DEUFEMIA@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-05]