APPLICAZIONI DISTRIBUITE E CLOUD COMPUTING
DISTRIBUTED APPLICATIONS AND CLOUD COMPUTING
A.A. | CFU |
---|---|
2021/2022 | 9 |
Docente | Ricevimento studentesse e studenti | |
---|---|---|
Claudio Antares Mezzina | Giovedì 11 - 13 (su appuntamento per mail) |
Didattica in lingue straniere |
---|
Insegnamento parzialmente in lingua straniera
Inglese
La didattica è svolta parzialmente in lingua italiana e parzialmente in lingua straniera. I materiali di studio e l'esame possono essere in lingua straniera. |
Assegnato al Corso di Studio
Giorno | Orario | Aula |
---|
Giorno | Orario | Aula |
---|
Obiettivi Formativi
Lo scopo del corso è fornire allo studente i fondamenti e gli strumenti per la progettazione e implementazione di applicazioni distribuite e cloud-computing. Verranno introdotte le nozioni principali di comunicazione nei sistemi distributi (code e canali). Dopo un'introduzione teorica sulle algebre di processo per sistemi distribuiti verranno presentati due linguaggi: goLang ed Erlang.
Programma
01. Introduzione alle applicazioni distribuite e al cloud computing
01.01 Concetti principali
01.02 Linguaggi di programmazione usati
02 Algebre di processo per sistemi distribuiti
02.01 Introduzione alle algebre di processo
02.02 Comunicazione a canale e comunicazione a coda
02.03 Concetti base di teoria comportamentale
03 Erlang a la programmazione ad attori
03.01 Introduzione ad Erlang
03.02 Programmazione funzionale in Erlang
03.03 Programmazione procedurale in Erlang
03.04 Modello ad Errori di Erlang
03.05 Monitoring e Supervisor Tree
03.06 Il dbms mnesia
03.07 Debugging e tracing in Erlang
04 goLang e la programmazione a canali
04.01 Introduzione a goLang
04.02 Programmazione a canali
04.03 goroutines e programmazione concorrente
05 Tuple Space e DBMS NoSql
05.01 Introduzione agli spazi di tuple
05.02 GigaSpace
05.03 DBMS noSQL
06 Concetti Avanzati
06.01 Oggetti distribuiti in Python/Pyro
06.02 Docker e VM
06.03 Elixir
06.04 Scala
Eventuali Propedeuticità
Sebbene non sia prevista nessuna propedeuticità è fortemente consigliato aver superato il corso di SISTEMI DISTRIBUITI
Risultati di Apprendimento (Descrittori di Dublino)
Conoscenze e comprensione: lo studente acquisirà le principali conoscenze sulla programmazione di applicazioni distribuite
Capacità di applicare conoscenze e comprensione: lo studente sarà in grado di applicare le conoscenze acquisite con l'obiettivo di progettare applicazioni distribuite. Sarà anche in grado progettare ed implementare applicazioni reali.
Autonomia di giudizio: lo studente sarà in grado programmare un'applicazione distribuita.
Abilità comunicative: Lo studente sarà in grado di usare in modo appropriato la terminologia dei sistemi distribuiti. Inoltre, lo studente sarà in grado di illustrare le caratteristiche descrittive e funzionalità di un sistema e di applicazioni distribuite.
Capacità di apprendimento: lo studente apprenderà la capacità di progettare e implementare sistemi sulla base di requisiti e specifiche descrittive che specificano la tipologia di contenuti ed operazioni necessarie alla gestione di una applicazione distribuita.
Materiale Didattico
Il materiale didattico predisposto dalla/dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni della/del docente specifiche per l'insegnamento sono reperibili all'interno della piattaforma Moodle › blended.uniurb.it
Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento
- Modalità didattiche
Lezioni frontali ed esercitazioni di laboratorio.
- Obblighi
Sebbene fortemente consigliata, la frequenza non è obbligatoria.
- Testi di studio
Erlang Programming: A Concurrent Approach to Software Development. Francesco Cerarini & Simon Thompson
- Modalità di
accertamento Discussione di un articolo scientifico e progetto in gruppo.
- Disabilità e DSA
Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.
A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.
Informazioni aggiuntive per studentesse e studenti non Frequentanti
- Modalità didattiche
Materiale derivante dalle lezioni frontali ed esercitazioni di laboratorio.
- Testi di studio
Erlang Programming: A Concurrent Approach to Software Development. Francesco Cerarini & Simon Thompson
Programming Erlang: Software for a Concurrent World (disponibile online)
An introduction to programming in Go (disponibile online)
- Modalità di
accertamento Discussione in gruppo di un articolo concordato con il docente su tematiche affini al corso. La valutazione della discussione inciderà il 40% del voto finale.
Realizzazione di un progetto su un argomento riguardante le tematiche del corso e concordato preventivamente con il docente. Il progetto viene valutato sia per mezzo di una dimostrazione, con annessa discussione orale, sia per mezzo di una documentazione consegnata alcuni giorni prima della data dell'esame. La valutazione del progetto inciderà per il 60% sul voto finale
- Disabilità e DSA
Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.
A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.
« torna indietro | Ultimo aggiornamento: 08/03/2022 |