Salta ai contenuti. | Salta alla navigazione

Strumenti personali

CLOUD E MOBILE COMPUTING

Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente? Ecco come fare >>
English course description
Anno accademico
2022/2023
Docente
MAURO TORTONESI
Crediti formativi
6
Periodo didattico
Secondo Semestre
SSD
ING-INF/05

Obiettivi formativi

L'insegnamento ha l'obiettivo di introdurre lo studente alle principali tematiche relative al progetto e alla realizzazione di applicazioni distribuite in ambito Big Data e Cloud Computing. Si introdurranno architetture e tecniche allo stato dell’arte, con particolare riferimento a soluzioni fortemente scalabili e modulari, che siano anche facilmente integrabili con applicazioni e servizi mobili che sfruttano informazioni di contesto per abilitare servizi avanzati.

Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) dello studente al termine dell'insegnamento saranno:
- in base ai requisiti, identificare opportunamente architetture, piattaforme di orchestrazione e configurazione, e strumenti di virtualizzazione per applicazioni Big Data e Cloud Computing;
- analizzare i requisiti prestazionali e valutare le performance delle applicazioni Big Data e Cloud Computing;
- realizzare soluzioni Big Data e Cloud Computing utilizzando piattaforme di sviluppo e componenti software open source;
- integrare opportunamente servizi Cloud e applicazioni mobili.

Prerequisiti

Il corso richiede la conoscenza approfondita delle reti di calcolatori, dei linguaggi di programmazione, sia imperativi (C) che a oggetti (ad esempio Python e Java), e del sistema operativo Unix. Inoltre è fortemente consigliato avere nozioni generali sui sistemi distribuiti.

Contenuti del corso

- Introduzione al Cloud Computing
- Tecnologie di virtualizzazione: dalle virtual machine ai container
- Monitoraggio e controllo di servizi Cloud
- Introduzione ai microservizi
- Piattaforme Cloud pubbliche e private
- Evoluzioni del Cloud Computing: Edge e Fog Computing
- Introduzione ai sistemi Big Data
- Architetture di stoccaggio dati su larga scala: Data Warehouse, Data Lake e Data Lakehouse
- Piattaforme per analisi dati: Apache Spark e il relativo ecosistema
- Soluzioni di ingestione e visualizzazione di Big Data
- Introduzione alla disciplina MLOps
- Introduzione al Mobile Computing: context e location awareness, mobile positioning e service discovery

Metodi didattici

Il corso è organizzato nel seguente modo:
- lezioni frontali in aula su tutti gli argomenti del corso;
- esercitazioni nei laboratori di informatica del Polo Scientifico-Tecnologico per il progetto e lo sviluppo di semplici applicazioni Big Data e Cloud Computing.

Al termine delle esercitazioni guidate gli studenti avranno libero accesso al laboratorio per ulteriori esercitazioni individuali.

Modalità di verifica dell'apprendimento

Il corso prevede una prova finale orale che cercherà di valutare il livello di apprendimento raggiunto sia in termini di metodologie di progettazione architetturale e modelli, sia in termini di operatività implementativa in relazione alle principali tecnologie descritte e utilizzate nel corso. La prova orale prevederà almeno quattro domande sull'intero programma presentato a lezione.

Opzionalmente, gli studenti potranno svolgere un'attività preventivamente concordata coi docenti che può consistere, ad esempio, nell'analisi di un articolo scientifico o nello studio approfondito di una tecnologia. In tal caso la prova orale partirà dalla discussione dell'attività svolta. Se interessati si richiede di contattare i docenti almeno un mese prima della data di esame così da concordare le attività.

Testi di riferimento

Non esiste un unico libro di testo che introduca tutto il materiale relativo al corso. I docenti forniranno una copia dei lucidi presentati a lezione, che conterranno anche riferimenti a testi e ad articoli utili per ulteriori approfondimenti.