TECNOLOGIE E APPLICAZIONI WEB
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- WEB APPLICATIONS AND TECHNOLOGIES
- Codice insegnamento
- CT0142 (AF:521650 AR:301120)
- Lingua di insegnamento
- Inglese
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- ING-INF/05
- Periodo
- II Semestre
- Anno corso
- 2
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Basato su JavaScript, linguaggio divenuto standard de-facto per ogni web-developer, il corso fornisce le competenze necessarie a realizzare un'applicazione WEB full stack di tipo "MEAN" usando Node.js, MongoDB, Express e Angular.
Infine, si discuterà di come le tecnologie legate al web possono essere utilizzate per lo sviluppo agile di applicazioni tradizionalmente confinate in ambiente nativo, come le app per sistemi mobile e gli ambienti desktop.
Risultati di apprendimento attesi
- Basi di funzionamento del protocollo HTTP
- Tecniche di gestione dell'autenticazione e autorizzazione in applicazioni WEB
- Framework e tecnologie per sviluppare applicazioni web e mobili;
Competenze:
- Saper utilizzare framework e tecnologie all’avanguardia per sviluppare applicazioni web e mobili;
- Definire le funzionalità di un'applicazione e realizzarle definendo delle API in stile REST
- Gestire l'autenticazione in un'applicazione web
- Implementare soluzioni web full-stack di tipo MEAN utilizzando JavaScript e TypeScript
Prerequisiti
Contenuti
----------------------------
- Evoluzione del WEB: SPA e frameworks full-stack
- Il protocollo HTTP
- Cookies e il concetto di Sessione
- JSON Web Token (JWT)
- Websocket
- API in stile REST
- Docker containers
Linguaggi per il web
----------------------------
- JavaScript
- TypeScript
Node.js server-side JavaScript runtime
----------------------------
- Storia e panoramica del sistema
- The Npm package manager
- modello di IO asincrono / non-bloccante
- programmazione event-driven
- Interfaccia con il sistema operativo
- HTTP APIs
Middleware
----------------------------
- Express
Front-end
----------------------------
- Angular
Approfondimenti opzionali
----------------------------
- Apache Cordova
- Electron framework
Testi di riferimento
Simon Holmes, "Getting MEAN with Mongo, Express, Angular, and Node", Second edition, Manning Publications, 2019. ISBN 9781617294754
Eric Elliott, "Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Modern JS Libraries", O'Reilly Media, 2014. ISBN-10: 1491950293
Fernando Doglio, "Pro REST API Development with Node.js", Apress, 2015. ISBN-10: 1484209184
Steve Fenton, "Pro Typescript", Apress, 2014. ISBN 978-1-4302-6790-4
Adam Freeman, "Pro Angular", Apress 2017. ISBN 978-1-4842-2307-9
Modalità di verifica dell'apprendimento
Il progetto e la relazione hanno lo scopo di verificare la conoscenza dei concetti teorici appresi durante il corso e di dimostrare la capacità dello studente di sviluppare applicazioni web con le tecnologie illustrate a lezione.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
A. punteggi nella fascia 18-22 verranno attribuiti in presenza di:
- sufficiente conoscenza e capacità di comprensione applicata in riferimento al programma;
- limitata capacità di sviluppare soluzioni software ai problemi dati;
- sufficienti abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico della materia;
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di:
- discreta conoscenza e capacità di comprensione applicata in riferimento al programma;
- discreta capacità di sviluppare soluzioni software ai problemi dati;
- sufficienti abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico della materia;
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di:
- buona o ottima conoscenza e capacità di comprensione applicata in riferimento al programma;
- buona o ottima capacità di sviluppare soluzioni software ai problemi dati;
- buone o ottime abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico della materia;
D. la lode verrà attribuita in presenza capacità eccellenti di comprensione delle tecnologie legate al web e alla loro implementazione in un progetto software complesso
Metodi didattici
Congiuntamente ai testi di riferimento, materiale di studio aggiuntivo sarà fornito in forma di presentazioni PowerPoint e codice sorgente da utilizzare come template per lo sviluppo di applicazioni full-stack.