Programmazione web e mobile

A.A. 2018/2019
Insegnamento per
6
Crediti massimi
48
Ore totali
SSD
INF/01
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
INF/01 - INFORMATICA - CFU: 6
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.
Esercitazioni.
Materiale didattico e bibliografia
· Lucidi ed esercizi proposti a lezione e attraverso la piattaforma Ariel
· 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