Programmazione web e mobile

A.A. 2017/2018
Insegnamento per
6
Crediti massimi
48
Ore totali
Lingua
Italiano
Obiettivi formativi
Il WWW ha saputo imporsi negli anni come un ambiente universale in grado di supportare le più svariate applicazioni. La generalità dell'ambiente è determinata da un'architettura semplice e scalabile. Tuttavia, negli anni, la necessità di supportare nuove applicazioni e nuovi dispositivi d'accesso, ha richiesto che le tecnologie adottate nel Web evolvessero per sostenere processi informativi maturi: capaci di gestire in modo efficiente la portabilità, l'interrogazione, la persistenza e l'elaborazione dei dati.
Il corso introduce le principali tecnologie del Web è ha in particolare i seguenti obiettivi:
· 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.
· 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.

Struttura insegnamento e programma

Edizione attiva
Responsabile
Lezioni: 48 ore
Docente: Ceravolo Paolo
Programma
Il corso si suddivide in cinque moduli che affronteranno gli argomenti dettagliati più sotto.

1. Storia e architettura del WWW
- Da Internet al Web
- Gli standard implementativi del Web
- I primi anni e la competizione per gli standard di rappresentazione
- Le ragioni della scalabilità del Web
- Web 2.0, Web mobile e Architetture Cloud

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

3. Data
- HTML come vocabolario di rappresentazione di documenti
- HTML come vocabolario di rappresentazione di interfacce
- La gestione dei dati in contesti multicanale
- I protocolli REST
- Dai database alle architetture Cloud

4. Procedure
- CGI e linguaggi di scripting lato server
- Javascript
- NodeJS, moduli
- NodeJS, gestione degli eventi
- NodeJS, creazione e manipolazione di file
- NodeJS, comunicazione HTTP
- NodeJS, comunicazione HTTPs

5. Progettare nel Web
- L'economia dei beni digitali
- Modelli di business per il Web
- Esternalità della rete
- Principi di usabilità architettura dell'informazione
- Ambienti e framework di programmazione Web e Mobile
Informazioni sul programma
· 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.
Propedeuticità
Nessuna
Prerequisiti e modalità di esame
Si richiede una conoscenza dei concetti base di programmazione e la capacità di leggere un testo in inglese.

Esame scritto e orale
Metodi didattici
Lezioni frontali.
Materiale didattico e bibliografia
· 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
Periodo
Secondo semestre
Periodo
Secondo semestre
Modalità di valutazione
Esame
Giudizio di valutazione
voto verbalizzato in trentesimi
Docente/i
Ricevimento:
Giovedì 14.00 - 15.00
Dipartimento di Informatica - Sede di Crema