- Docente: Silvia Mirri
- Crediti formativi: 6
- SSD: IINF-05/A
- Lingua di insegnamento: Italiano
- Modalità didattica: Lezioni in presenza (totalmente o parzialmente)
- Campus: Cesena
-
Corso:
Laurea Magistrale in
Ingegneria e scienze informatiche (cod. 6699)
Valido anche per Laurea Magistrale in Ingegneria e scienze informatiche (cod. 6699)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente: - conosce principi e metodologie di progettazione di applicazioni e servizi Web, client-side e server-side; - è in grado di sviluppare siti Web basati su tecnologie Web client-side e server-side; - è in grado di sviluppare front-end basati su app e rich internet application; - è in grado di sviluppare back-end basati su servizi Web e workflow.
Contenuti
L'insegnamento approfondisce le architetture, i paradigmi e le tecnologie per la progettazione e lo sviluppo di applicazioni e servizi Web moderni, con particolare attenzione allo sviluppo di servizi Web, alle architetture JavaScript full-stack e ai principali solution stack adottati nello sviluppo di applicazioni distribuite. Il corso affronta gli aspetti architetturali, metodologici e tecnologici necessari per la realizzazione di applicazioni Web scalabili, modulari e manutenibili, analizzando i principali framework, pattern architetturali e strumenti di sviluppo del panorama Web contemporaneo.
In particolare, il corso affronta i seguenti argomenti:
- Architetture e solution stack per lo sviluppo di applicazioni e servizi Web.
- Architettura delle piattaforme di esecuzione Web: browser, server Web, runtime JavaScript e modelli di comunicazione client-server.
- Pattern architetturali per lo sviluppo di applicazioni Web, con particolare riferimento ai modelli Model-View-Controller (MVC) e Model-View-ViewModel (MVVM).
- Il paradigma JavaScript Everywhere e il suo impatto sulla progettazione e sullo sviluppo di applicazioni Web full-stack.
- Architetture JavaScript full-stack e relativi solution stack, con particolare riferimento allo stack MEVN e alle principali varianti (MEAN e MERN), analizzandone i componenti tecnologici (MongoDB, Express.js, Node.js e framework front-end) e le relative modalità di integrazione.
- Framework JavaScript per lo sviluppo dichiarativo e component-based di applicazioni Web, con particolare riferimento a Vue.js e confronto con i principali framework e librerie del panorama attuale, quali Angular e React.
- Linguaggi e strumenti per lo sviluppo Web moderno, con particolare riferimento a TypeScript, Sass e SCSS.
Testi/Bibliografia
A causa della rapida evoluzione della materia, non esiste un libro di testo che copra tutta la disciplina. Gli studenti ricevono le slide proiettate a lezione e vengono di volta in volta guidati a risorse tipicamente gratuite e disponibili in rete per lo svolgimento del corso e l'approfondimento degli argomenti.
Metodi didattici
Il corso consiste in:
- lezioni frontali;
- esercitazioni in aula informatica.
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, https://corsi.unibo.it/magistrale/IngegneriaScienzeInformatiche/formazione-obbligatoria-su-sicurezza-e-salute, in modalità e-learning.
Modalità di verifica e valutazione dell'apprendimento
L'esame di fine corso mira a valutare il raggiungimento dei seguenti obiettivi formativi:
- comprendere le architetture, i paradigmi e le tecnologie per la progettazione e lo sviluppo di applicazioni e servizi Web moderni;
- acquisire competenze nella progettazione e nello sviluppo di applicazioni Web distribuite mediante framework JavaScript, solution stack full-stack e pattern architetturali;
- applicare metodologie e strumenti per la progettazione, lo sviluppo e l'integrazione di applicazioni e servizi Web scalabili, modulari e manutenibili.
L'esame consiste nella presentazione e discussione di un elaborato progettuale sviluppato in gruppo (2 o 3 studenti per gruppo) e in una prova orale individuale.
La valutazione dell'elaborato progettuale costituisce la base del voto finale, fino a un massimo di 27/30. La successiva prova orale individuale, svolta contestualmente alla discussione dell'elaborato, è finalizzata a verificare il livello di preparazione del singolo studente, la comprensione degli aspetti teorici affrontati durante il corso e il contributo individuale fornito allo sviluppo del progetto. L'esito della prova orale può determinare un incremento o una riduzione della valutazione dell'elaborato fino a un massimo di 5 punti.
Per poter sostenere l'esame è necessario effettuare l'iscrizione tramite AlmaEsami.
Il voto finale può essere rifiutato una sola volta.
Strumenti a supporto della didattica
Slide a disposizione attraverso la piattaforma d'Ateneo Virtuale.
Orario di ricevimento
Consulta il sito web di Silvia Mirri
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.