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.