- Docente: Paolo Ciancarini
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Informatica (cod. 8028)
Conoscenze e abilità da conseguire
Il corso presenta le principali tecnologie attualmente usate per sviluppare sistemi software distribuiti. Inizialmente si introducono i principi fondamentali dei sistemi distribuiti e successivamente si discutono le tecnologia middleware che mettono a disposizione piattaforme per la programmazione distribuita. Questo materiale introduttivo è seguito dalla descrizione delle principali architetture per la realizzazione di sistemi distribuiti, incluse quelle per implementare applicazioni basate su servizi in ambiente cloud. Alla fine del corso lo studente saprà selezionare la piattaforma middleware appropriata per un dato problema, e sarà in grado di applicare le tecnologie presentate per risolvere casi di studio pratici. L'esame consisterà di 1) una presentazione preliminare di un articolo di ricerca scelto dallo studente e di 2) un progetto finale assegnato dal docente.
Contenuti
Prerequisiti:
Conoscenze di base di object oriented programming, software engineering, metodi agili, UML, design patterns principali.
Il corso è in inglese, vedi la versione inglese
Testi/Bibliografia
vedi la versione inglese
Metodi didattici
Lezioni frontali, letture di libri o articoli scientifici, progetto
Modalità di verifica e valutazione dell'apprendimento
Frequenza in classe, progetto, presentazioni in classe (midterm e progetto)
Vedi la versione inglese
Strumenti a supporto della didattica
Canale telegram, slides, ambiente di sviluppo open source per il progetto
Orario di ricevimento
Consulta il sito web di Paolo Ciancarini
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.