Nuova ricerca

Riccardo LANCELLOTTI

Professore Associato
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Applicazioni Distribuite e Mobili

Ingegneria informatica (Offerta formativa 2020)

Obiettivi formativi

Il corso intende fornire agli studenti le competenze per padroneggiare metodologie e tecnologie per il progetto e lo sviluppo di moderne applicazioni distribuite basate su infrastrutture Web e mobile. Gli argomenti trattati riguardano sistemi ICT multi-livello, tecnologie Web, e sviluppo di applicazioni mobili. Vengono inoltre introdotte le basi per la valutazione prestazionale di sistemi Web-based mediante modelli matematici e simulazione.

Prerequisiti

- Linguaggio Python
- Elementi di ingegneria del software
- Architetture di sistemi Web distribuiti

Programma del corso

Sviluppo server-side (3 CFU)
- Progetto di applicazioni distribuite Web e Mobile (Sistemi multi-livello, pattern MVC, applicazioni mashup, servizi RESTful, interazione con sensori mobili, sviluppo event-driven)
- Tecnologie per lo sviluppo di applicazioni Web distribuite server-side (Python, Django, interfacce REST)
Sviluppo client-side (2 CFU)
- Programmazione Web client-side (in particolare: Javascript, AJAX, JSON, HTML5, React)
Sviluppo su piattaforma mobile (2 CFU)
- Programmazione Mobile (in particolare: Android, React Native)
Valutazione delle prestazioni (2 CFU)
- elementi di performance evaluation
- Simulazione (con esercitazioni basate sullo strumento omnet++)
- Casi di studio

Metodi didattici

- Lezioni in classe
- Esercitazione in laboratorio

Testi di riferimento

Nessuno

Verifica dell'apprendimento

- Prova orale con domande su tutti i contenuti del corso. Nella prova orale non si può consultare il materiale didattico.
- Prova di laboratorio sulle tematiche di sviluppo di applicaizoni web (client side o server side) o valutazione delle prestazioni (simulazione). Nella prova di laboratorio è possibile consultare il materiale didattico.
Per la sufficienza entrambe le prove devono essere superate. Il voto finale si basa sulla media pesata della prova scritta (1/2) e di laboratorio (1/2)
Le prove possono avvenire in presenza o in modalità on-line. In entrambe le prove è prevista la supervisione del docente o di suoi collaboratori (dal vivo o mediante video)
La durata delle prove vengono stabilite in base alla modalità di somministrazione dell'esame. La prova di orale ha una durata tra 15 e 30 minuti. La prova di laboratio non dura meno di 40 minuti e non più di tre ore.

Risultati attesi

- Conoscere e comprendere le metodologie per il progetto e lo sviluppo di applicazioni Web e mobile distribuite.
- Saper sviluppare applicaizoni Web server side
- Saper sviluppare applicazioni Web usando tencologie clietn side per interfacciarsi con API restful
- Saper sviluppare applicazioni per dispositivi mobili
- Saper valutare le prestazioni di sistemi distribuiti mediante modelli matematici e simulazione