Programmazione web e mobile
A.A. 2018/2019
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.
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.
Risultati apprendimento attesi
· 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 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.
Periodo: Secondo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo semestre
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
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.
· 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
Si richiede una conoscenza dei concetti base di programmazione e la capacità di leggere un testo in inglese.
Esame scritto e orale
Esame scritto e orale
Metodi didattici
Lezioni frontali.
Esercitazioni.
Esercitazioni.
Materiale di riferimento
· 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
· 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
Docente/i