APPLICAZIONI DISTRIBUITE E CLOUD COMPUTING
DISTRIBUTED APPLICATIONS AND CLOUD COMPUTING
A.A. | CFU |
---|---|
2024/2025 | 9 |
Docente | Ricevimento studentesse e studenti | |
---|---|---|
Claudio Antares Mezzina | Giovedì 11:00–13:00 su appuntamento |
Didattica in lingue straniere |
---|
Insegnamento con materiali opzionali in lingua straniera
Inglese
La didattica è svolta interamente in lingua italiana. 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 Programmazione base in Erlang
03.01 Introduzione ad Erlang
03.02 Programmazione funzionale in Erlang
03.03 Programmazione procedurale in Erlang
04 Programmazione Concorrente in Erlang
04.01 Attori, spawn e pid
04.02 Modello ad Errori di Erlang
05 Memoria persistente in Erlang
05.01 Tabelle ets e dets
05.02 Il db Mnesia
06 Il modello ad errori di Erlang
06.01 Monitoring e Supervisor Tree
06.02 Genserver e i Behaviours in Erlang
06.03 Tracing and Debugging
07 goLang e la programmazione a canali
07.01 Introduzione a goLang
07.02 Programmazione a canali
07.03 goroutines e programmazione concorrente
08 Syncrhonization Patterns
08.01 Il modello publish and subscribe
08.02 Randez-vous distribuiti
09 Altri modelli ad attori
09.01 Elixir
09.02 Attori in Java, 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 Cesarini & Simon Thompson
Programming Erlang: Software for a Concurrent World. Joe Armstrong
An Introduction to Programming in Go. Caleb Doxsey
Designing for Scalability with Erlang/OTP Francesco Cesarini, Steve Vinoski
- Modalità di
accertamento L'esame consiste nella presentazione di un articolo scientifico ed un progetto. La presentazione dell'articolo incide del 4pt sul voto finale, la discussione del progetto 27pt.
L'articolo scientifico viene concordato col docente, mentre il progetto deve seguire le specifiche date dal docente. Il progetto è diviso in due parti: la parte essenziale, requisito minimo per passare l'esame, e la parte avanzata.
Implementare la parte essenziale incide di 22 pt sul voto finale. Implementare la parte avanzata incide di 5 pt 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.
Informazioni aggiuntive per studentesse e studenti non Frequentanti
- Modalità didattiche
Materiale derivante dalle lezioni frontali ed esercitazioni di laboratorio.
- Obblighi
Nessuno
- Testi di studio
- Erlang Programming: A Concurrent Approach to Software Development. Francesco Cesarini & Simon Thompson
Programming Erlang: Software for a Concurrent World. Joe Armstrong
An Introduction to Programming in Go. Caleb Doxsey
Designing for Scalability with Erlang/OTP Francesco Cesarini, Steve Vinoski
- Modalità di
accertamento L'esame consiste nella presentazione di un articolo scientifico ed un progetto. La presentazione dell'articolo incide del 4pt sul voto finale, la discussione del progetto 29pt.
L'articolo scientifico viene concordato col docente, mentre il progetto deve seguire le specifiche date dal docente. Il progetto è diviso in due parti: la parte essenziale, requisito minimo per passare l'esame, e la parte avanzata.
Implementare la parte essenziale incide di 24 pt sul voto finale. Implementare la parte avanzata incide di 5 pt 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: 24/06/2024 |