Dettagli sull'Insegnamento per l'A.A. 2019/2020
Nome:
Web Engineering / Web Engineering
Informazioni
Crediti:
: Bachelor Degree in Computer Science 6 CFU (b)
: Master Degree in Computer Science 6 CFU (b)
Erogazione:
Bachelor Degree in Computer Science 3rd anno curriculum General Elective
Master Degree in Computer Science curriculum GSEEM Elective
Master Degree in Computer Science curriculum General Elective
Lingua:
Italiano
Prerequisiti
Conoscenza di base della programmazione Java
Obiettivi
Il corso si propone di fornire una preparazione di base su tutte le tipologie di applicazioni per il web e sulle tecnologie utilizzabili per realizzarle. Verranno approfonditi inizialmente aspetti di base quali XML, i linguaggi markup (HTML 4 e HTML 5) e i fogli di stile. Verranno poi illustrati i linguaggi di programmazione lato server e lato client, con particolare riguardo per Java e Javascript. Infine, saranno affrontate problematiche di accessibilità e validazione dei siti web.
Sillabo
- Web Standards.
Accessibilita' e Usabilita': cosa significano e come si realizzano.
Web Content Accessibility Guidelines (WCAG).
XML e i linguaggi markup.
- Struttura dei contenuti web: HTML4, XHTML1, HTML5.
Uso corretto dell'HTML e accorgimenti per la compatibilita' crossbrowser.
Creazione di HTML accessibile. Accessibilita' nelle Rich User Applicatrions (RIA).
Validazione dei contenuti web.
- Presentazione dei contenuti web: CSS2 e CSS3.
Uso corretto dei fogli di style e accorgimenti per la compatibilita' crossbrowser.
Creazione di fogli di stile degradanti.
- Creazione di layout con i fogli di stile: tecniche di base.
Responsive design.
- Logica per i contenuti web, lato server: Java Servlets.
Gestione delle sessioni nelle applicazioni web Java.
Database nelle applicazioni web Java: JDBC, connection pooling.
Generazione dinamica dei contenuti: template engines per Java.
Sicurezza delle applicazioni web: accorgimenti lato server.
- Logica per i contenuti web, lato client: Javascript.
Javascript come linguaggio di programmazione object-oriented.
Il Document Object Model di HTML.
Il Document Object Model dei CSS.
Il modello degli eventi HTML.
Manipolazione del DOM con Javascript.
Rich User Interaction degradante con Javascript e CSS.
AJAX.
Introduzione a JQuery.
Descrittori di Dublino
Alla fine del corso, lo studente dovrebbe
- comprendere tutte le tecnologie di base per lo sviluppo web
- applicare allo sviluppo di applicazioni web tutte le tecnologie più recenti, sviluppare applicazioni web lato server in Java e creare interfacce lato client dinamiche, accessibili e versatili
- essere in grado di progettare, implementare e valutare un sistema o compnenete software per soddisfare un'esigenza specifica
- valutare il livello di accessibilità di un sito web e scegliere le tecnologie più adatte al suo sviluppo
- essere in grado di analizzare un problema, identificando le tecnologie e le modalità utili alla sua soluzione
- essere in grado di lavorare in gruppo per sviluppare un progetto comune
- essere in grado di applicare tecniche e tool necessari allo sviluppo web
- approfondire lo studio di tutte le tecnologie legate allo sviluppo web correntemente in evoluzione
Testi di riferimento
- Danny Goodman, JavaScript & DHTML Cookbook , O'Reilly. 2007. Testo consigliato per l'approfondimento di Javascript e DHTML
- Vincenzo Della Mea, Luca di Gaspero, Ivan Scagnetto, Programmazione web lato server, seconda edizione , Apogeo. 2010. Testo di riferimento per HTML, CSS e Javascript
- Jeffrey Zeldman, Ethan Marcotte, Sviluppare Siti Con Gli Standard Web, terza edizione , Apogeo. 2010. Testo di riferimento sulle techiche di progettazione di siti web
Modalità d'esame
Gli studenti sono incoraggiati a partecipare attivamente alle lezioni facendo domande e discutendo le soluzioni adottate negli esempi sviluppati in aula.
Prova conclusiva: sviluppo e presentazione di un progetto (in gruppo) e orale (individuale) (80:20).
Il progetto da sviluppare consiste in un sito web completo, le cui specifiche sono fornite dal docente e sono valide per l'intero anno accademico di pubblicazione. La valutazione del progetto ha lo scopo di verificare il suo livello di completamento e di documentazione (15% del voto totale), l'uso corretto delle tecnologie web di base (30%), il livello di programmazione client-side e server-side (Java) (20%), la capacità di applicare le tecnologie più recenti (5%), e le caratteristiche di compatibilità crossbrowser, usabilità e accessibilità (30%).
La prova orale ha come base la discussione del progetto, e mira a verificare il livello raggiunto nella capacità di lavorare in gruppo (20% del voto totale) nonché il contributo individuale al progetto, con una forte enfasi sulla conoscenza delle principali tecnologie presentato nel corso (40%), sulla capacità di applicarle ove e come necessario (20%), e sulla capacità di progettare, implementare e presentare adeguatamente un'applicazione web complessa (20%).
Aggiornamenti alla pagina del corso
Le informazioni sulle editioni passate di questo corso sono disponibili per i seguenti anni accademici:
Per leggere le informazioni correnti sul corso, se ancora erogato, consulta il catalogo corsi di ateneo.
Ultimo aggiornamento delle informazioni sul corso: 22 febbraio 2019, 18:26