Il corso introduce la parte applicativa della rete Internet, intesa come l'insieme di tecniche e metodi per la costruzione di applicazioni web dinamiche, che sono quelle su cui si basa la totalità degli odierni servizi offerti sul web. In particolare si vogliono sviluppare le capacità di programmazione lato client e lato server mediante linguaggi di scripting, prevedendo anche l'interazione con database remoti, la realizzazione di interfacce ricche e l'integrazione di dati esposti mediante API pubbliche. Verranno presentati i linguaggi e le tecnologie seguenti: HTML, CSS, XML, JSON, JavaScript, PHP, Ajax, e lo stile architetturale REST. Particolare enfasi viene data al problema della mancanza di stato propria del protocollo HTTP e alle tecniche per mantenere quello stato che il protocollo non offre. Infine si vuole sviluppare una conoscenza di base dei concetti di usabilità, accessibilità e di sicurezza delle applicazioni web.
Lezioni, esercitazioni pratiche e studio a casa. Nell'a.a. 2020/2021 le lezioni saranno anche erogate online su Teams.
Creazione di pagine web statiche usando HTML5 e CSS. Validazione delle pagine web. Programmazione lato server
Programmazione lato client
Il paradigma architetturale REST (REpresentational State Transfer). Sicurezza, usabilità e accessibilità nelle applicazioni web. In laboratorio: esercitazioni e progetto finale che tocca tutti gli argomenti introdotti a lezione.
Un libro di testo che copre tutti gli argomenti del corso è quello seguente: Learning PHP, MySQL, JavaScript, and CSS, A Step-by-Step Guide to Creating Dynamic Websites. O'Reilly, 2012. Vanno anche bene gli appunti presi a lezione e i libri presenti in biblioteca quali, ad esempio: JavaScript: la guida, D. Flanagan, APOGEO Internet & WWW: how to program, Deitel Per la maggior parte degli argomenti trattati in questo corso il miglior libro di testo è la rete stessa.
Ricevimento: La docente riceve su appuntamento presso il DIBRIS, studio numero 231, 2 piano, Via Dodecaneso 35, Genova. In caso di didattica a distanza il ricevimento avviene su Teams. E-mail: marina.ribaudo@unige.it
Test scritto e discussione orale. Durante l'orale si discutono i dettagli del progetto finale e lo studente deve dimostare di aver fatto il progetto e di saperlo modificare su richiesta.