- Docente: Walter Cerroni
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Inglese
- Moduli: Walter Cerroni (Modulo 1) Davide Borsatti (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea Magistrale in Telecommunications Engineering (cod. 9205)
Conoscenze e abilità da conseguire
Knowledge related to the technologies needed for management and usage of computer networks and distributed systems.
Contenuti
MODULO 1 - PRINCIPI E MODELLI PER I SISTEMI DISTRIBUITI
- Introduzione ai sistemi distribuiti, architetture.
- Processi, thread, virtualizzazione, scalabilità.
- Protocolli DNS e HTTP.
- Comunicazioni, programmazione di socket, API, remote procedure call.
- Introduzione al linguaggio di programmazione Python.
- Esercitazioni pratiche in laboratorio sugli argomenti di cui sopra.
MODULO 2 - APPLICAZIONI DEI SISTEMI DISTRIBUITI NELLE TELECOMUNICAZIONI
- Cloud computing e orchestrazione di servizi, OpenStack, Kubernetes.
- Virtualizzazione delle funzioni di rete (NFV), Open Source MANO.
- Reti definite via software (SDN), NETCONF.
- Esercitazioni pratiche in laboratorio sugli argomenti di cui sopra.
Testi/Bibliografia
- M. van Steen, A. S. Tanenbaum, "Distributed Systems," 4th Edition, 2023, ISBN: 978-90-815406-3-6.
- Altro materiale fornito dai docenti.
Metodi didattici
Il corso consiste in lezioni frontali, per introdurre concetti, principi e modelli, a cui fanno seguito esercitazioni pratiche o sessioni in laboratorio. Le esercitazioni sono pensate anche per stimolare la capacità degli studenti a lavorare in gruppo.
In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.
Modalità di verifica e valutazione dell'apprendimento
E' prevista una prova finale che intende valutare la capacità dello studente di comprendere i principi e le applicazioni dei sistemi distribuiti. La verifica dell'apprendimento avviene tramite una prova orale su tutti gli argomenti del corso e la presentazione delle attività svolte durante le esercitazioni pratiche o le sessioni di laboratorio.
Strumenti a supporto della didattica
Ambiente di programmazione Python.
Strumenti software per la gestione delle reti e l'analisi dei protocolli.
PC dotati di sistema operativo Linux e software di gestione di macchine virtuali e/o container.
Piattaforme software per l'orchestrazione di servizi.
Orario di ricevimento
Consulta il sito web di Walter Cerroni
Consulta il sito web di Davide Borsatti
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.