L'insegnamento introduce le conoscenze e le competenze necessarie per creare applicazioni web. Verranno introdotti i linguaggi di markup, stile e programmazione front-end e le tecnologie back-end per creare siti web dinamici basati sui dati. L'insegnamento è fortemente guidato dal progetto finale, un sito web progettato e sviluppato da zero, e pone le basi per essere in grado di capire, apprezzare e usare in un secondo momento i più moderni framework per lo sviluppo web.
Acquisire tecniche e metodi per la costruzione di applicazioni web dinamiche 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 sviluppando una conoscenza di base dei concetti di usabilità, accessibilità e di sicurezza.
Al termine dell’insegnamento, lo studente/la studentessa sarà in grado di:
COMPRENDERE il funzionamento del web: per esempio la sua architettura client/server e la mancanza di stato del protocollo HTTPS. INSTALLARE un web server e un sistema di gestione di database relazionali. UTILIZZARE i diversi linguaggi presentati a lezione per la progettazione di un'applicazione web accessibile e responsive. COMPRENDERE le vulnerabilità delle applicazioni web e APPLICARE le opportune contromisure. PRESENTARE il proprio progetto in pochi minuti (elevator pitch).
Per seguire con successo questo corso sono necessarie conoscenze di:
Lezioni frontali sia teoriche che pratiche per la codifica di script che permettono di realizzare pagine web lato client e lato server.
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: Su appuntamento (in presenza o online) definito per email.
MARINA RIBAUDO (Presidente)
MAURIZIO LEOTTA
MATTEO DELL'AMICO (Presidente Supplente)
In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica
L’esame consiste delle seguenti prove: (i) un test scritto di ammissione alla prova orale e (ii) una prova orale durante la quale viene discusso il progetto e si devono modificare/correggere alcune parti del codice consegnato.
Il test scritto, che serve per l'ammissione alla discussione del progetto, è composto da poche domande aperte relative agli argomenti affrontati a lezione, argomenti che forniscono le basi per la realizzazione del progetto. Il test permette di valutare le conoscenze teoriche acquisite dallo studente. Appena concluso il test viene concordato il calendario per gli orali. Test scritto e discussione del progetto avvengono nello stesso appello.
La prova orale è volta a valutare se lo studente ha raggiunto un livello adeguato di competenze pratiche ed è in grado di modificare il codice prodotto. Consiste in: (i) presentazione del progetto; (ii) esecuzione dei test automatici forniti durante il corso; (iii) discussione dettagliata del codice prodotto; (iv) modifica di uno o più file e consegna su AulaWeb. Il progetto può essere svolto in coppia, la valutazione è individuale.