CODICE 65704 ANNO ACCADEMICO 2020/2021 CFU 6 cfu anno 3 INFORMATICA 8759 (L-31) - GENOVA 6 cfu anno 3 INGEGNERIA INFORMATICA 8719 (L-8) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI 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. MODALITA' DIDATTICHE Lezioni, esercitazioni pratiche e studio a casa. Nell'a.a. 2020/2021 le lezioni saranno anche erogate online su Teams. PROGRAMMA/CONTENUTO Creazione di pagine web statiche usando HTML5 e CSS. Validazione delle pagine web. Programmazione lato server Creazione di pagine dinamiche con PHP: sintassi, strutture dati e di controllo, gli oggetti. Utilizzo di cookie, controllo di accesso, controllo di sessione. Accesso a database remoti attraverso script PHP. Creazione di file XML e JSON. Introduzione a Node.js Programmazione lato client Javascript e le specifiche DOM. Introduzione ad AJAX. Librerie JavaScript per la realizzazione di interfacce ricche. 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. TESTI/BIBLIOGRAFIA 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. DOCENTI E COMMISSIONI MARINA RIBAUDO 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 LEZIONI Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME 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. Calendario appelli Data appello Orario Luogo Tipologia Note 19/01/2021 09:00 GENOVA Scritto 09/02/2021 09:00 GENOVA Scritto 08/06/2021 09:00 GENOVA Scritto 13/07/2021 09:00 GENOVA Scritto 01/09/2021 09:00 GENOVA Scritto