Programmazione web e mobile

A.A. 2024/2025
6
Crediti massimi
60
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'insegnamento introduce le principali tecnologie dei programmazione Web, più precisamente: i principi sui quali si fonda il Web; i principi fondamentali di progettazione di una applicazione Web; le principali tecnologie disponibili per lo sviluppo di applicazioni Web; i design pattern comunemente adottati nella programmazione di applicazioni Web per la risoluzione dei problemi ricorrenti.
Risultati apprendimento attesi
Al termine dell'insegnamento lo studente avrà acquisito le seguenti conoscenze, abilità e competenze:

Conoscenze
- Comprensione dei principi sui quali si fonda il Web e degli elementi che si sono consolidati durante la sua evoluzione.
- Comprensione dei principi fondamentali di progettazione di una applicazione Web.
- Conoscenza delle principali tecnologie disponibili per lo sviluppo di applicazioni Web.
- Conoscenza dei più comuni design pattern adottati per la risoluzione dei problemi ricorrenti nella programmazione di applicazioni Web.

Abilità
- Organizzare il progetto di una applicazione Web
- Verificare la diffusione di una tecnologia o modulo
- Testate il codice di una applicazione Web
- Valutare i risultati di performance di una applicazione Web
- Documentare le principali fasi di progettazione di una applicazione Web

Competenze
- Valutare gli strumenti tecnologici più adatti alla realizzazione di un progetto
- Valutare la coerenza di un progetto con gli obiettivi attesi
- Valutare interventi di miglioramento nelle performance di una applicazione
- Presentare le fasi di progettazione di una applicazione Web
Corso singolo

Questo insegnamento può essere seguito come corso singolo.

Programma e organizzazione didattica

Edizione unica

Responsabile
Periodo
Secondo semestre

Programma
l corso si suddivide in cinque moduli che affronteranno gli argomenti dettagliati più sotto.

1. Storia e architettura del WWW
- Gli standard implementativi del Web
- Le ragioni della scalabilità del Web
- Web 2.0, Web mobile e Architetture Cloud
- Web 3.0 introduzione

2. Interfaccia
- HTML, sintassi e parsing
- XHTML e CSS
- Javascript
- CSS3
- HTML5, nuovo vocabolario
- HTML5, Canvas e SVG
- HTML5, Communication API
- HTML5, applicazioni offline

3. Dati
- HTML come vocabolario di rappresentazione di documenti
- HTML come vocabolario di rappresentazione di interfacce
- La gestione dei dati in contesti multicanale
- I protocolli REST
- JSON
- XML

4. Procedure
- Linguaggi di scripting lato server
- NodeJS, moduli
- NodeJS, gestione degli eventi
- NodeJS, creazione e manipolazione di file
- NodeJS, comunicazione http
- NodeJS, templating e rendering
- NodeJS, funzioni di middleware

5. Mongo DB
- concetti di base
- DB collection e gestione BSON
- Interrogazione
Prerequisiti
Si richiede una conoscenza dei concetti base di programmazione e la capacità di leggere un testo in inglese.
Metodi didattici
Gli argomenti del corso verranno affrontati mediante lezioni frontali, con l'ausilio di lucidi e di materiali didattici che il docente metterà di volta in volta a disposizione sulla piattaforma Ariel. Durante le lezioni saranno inoltre svolti esercizi e dimostrazioni che aiuteranno il percorso di apprendimento dello studente.
Materiale di riferimento
Materiale obbligatorio
· Lucidi ed esercizi proposti a lezione e attraverso la piattaforma Ariel

Materiale facoltativo
· HTML 5 e CSS 3 - Gabriele Gigliotti, Milano: Apogeo, c2011
· Professional Node.js Building Javascript-Based Scalable Software - Pedro Teixeira: John Wiley & Sons, Inc. 2013
· HTML5, A vocabulary and associated APIs for HTML and XHTML: http://www.w3.org/TR/html5/
· Beginning JavaScript with DOM scripting and Ajax /- Russ Ferguson, Christian Heilmann. 2013
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste in un progetto con la sua discussione orale e una prova scritta, entrambe obbligatorie. Il progetto mira ad approfondire gli aspetti pratici di uno o più argomenti trattati nell'insegnamento. La discussione orale del progetto si concentra sugli argomenti affrontati nello sviluppo del progetto e mira a valutarne la qualità. Le tematiche e le specifiche del progetto saranno proposte alla fine dell'insegnamento ed esso potrà essere svolto, solo individualmente, entro i 12 mesi successivi alla data di pubblicazione.

Per poter effettuare la prova orale è necessario iscriversi ad una delle sessioni d'esame indicate da calendario e inviare il materiale prodotto secondo le specifiche del progetto.

E' prevista anche una prova scritta che permette di valutare la parte teorica del corso.

Una volta superate tutte le prove, viene formulata la valutazione complessiva, espressa in trentesimi, tenendo conto dei seguenti parametri: grado di conoscenza degli argomenti, capacità di applicare le conoscenze alla risoluzione di un progetto concreto, qualità del progetto sviluppato, capacità di ragionamento critico, chiarezza espositiva e proprietà di linguaggio.
INF/01 - INFORMATICA - CFU: 6
Laboratori: 24 ore
Lezioni: 36 ore
Turni:
Turno A
Docente: Bellandi Valerio
Turno B
Docenti: Bellandi Valerio, Maghool Samira
Docente/i
Ricevimento:
su appuntamento
stanza 7008