CODICE 65704 ANNO ACCADEMICO 2016/2017 CFU 6 cfu anno 3 INGEGNERIA INFORMATICA 8719 (L-8) - 6 cfu anno 3 INFORMATICA 8759 (L-31) - SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE PERIODO 2° 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 Mista: lezioni frontali e attività integrative mediante l'uso di AulaWeb. 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 la sede dipartimento DIBRIS, studio numero 231, 2 piano, Valle Puggia, in Via Dodecaneso 35, Genova. E-mail: marina.ribaudo@unige.it Telefono: 010 353 6631 Commissione d'esame MARINA RIBAUDO (Presidente) ANNALISA BARLA GIOVANNI CHIOLA 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 13/06/2017 09:00 GENOVA Scritto 04/07/2017 14:30 GENOVA Scritto 18/07/2017 14:30 GENOVA Scritto 06/09/2017 09:00 GENOVA Scritto