Breve descrizione del corso:
Il corso ha lo scopo di fornire una panoramica sulle tecnologie per la realizzazione di siti e applicazioni web. Gli argomenti che saranno trattati nel corso sono i seguenti:
- Introduzione a Internet e al WWW: richiami di reti, protocolli a livello applicazione e descrizione delle tecnologie usate nell'ambito del web;
- Il linguaggio HTML per la realizzazione di pagine web;
- Aspetti di presentazione delle pagine web tramite Cascading Style Sheets (CSS);
- Tecnologie client-side per la realizzazione di pagine web attive: JavaScript e HTML dinamico;
- Tecnologie server-side per la realizzazione di applicazioni web: PHP e MySQL;
- (tempo permettendo....) Cenni su altre tecnologie per la realizzazione di pagine e applicazioni web.
Buona parte delle lezioni consisteranno in esercitazioni in cui si utilizzeranno le tecnologie descritte.
Torna all'inizioOrario delle lezioni:
Le lezioni si svolgeranno il mercoledì pomeriggio secondo il seguente orario:
- dalle 14.00 alle 16.00 in aula 4;
- dalle 16.00 alle 18.00 in aula 5.
Diario delle lezioni:
- Lezione 1 (mer. 9 marzo 2011, ore 11.00)
- Introduzione al corso.
Introduzione alla programmazione web. (slides) - Lezione 2 (mer. 9 marzo 2011, ore 16.00)
- Richiami di reti e introduzione a Internet e al WWW. (slides)
- Lezione 3 (mer. 16 marzo 2011, ore 14.00)
- Il Linguaggio HTML (I parte): introduzione ad HTML, struttura di un documento, paragrafi, liste, tabelle, collegamenti ipertestuali, immagini, image maps. (slides)
- Lezione 4 (mer. 16 marzo 2011, ore 16.00)
- Esercitazione con HTML: realizzazione di una semplice home page (testo e soluzione).
- Lezione 5 (mer. 23 marzo 2011, ore 14.00)
- Il linguaggio HTML (II parte). (slides)
- Lezione 6 (mer. 23 marzo 2011, ore 16.00)
- Esercitazione con HTML: esercitazione con iframes e moduli, realizzazione di una bacheca personale.
- Lezione 7 (mer. 30 marzo 2011, ore 14.00)
- Cascading Style Sheets (CSS). (slides)
- Lezione 8 (mer. 30 marzo 2011, ore 16.00)
- Esercitazione con CSS: fogli di stile per la bacheca personale.
- Lezione 9 (mer. 6 aprile 2011, ore 14.00)
- JavaScript (I parte): aspetti di base. (slides)
- Lezione 10 (mer. 6 aprile 2011, ore 16.00)
- Esercitazione con JavaScript: aggiungere nuovi messaggi nella bacheca personale
- Lezione 11 (mer. 13 aprile 2011, ore 14.00)
- JavaScript (II parte): complementi. (slides)
- Uno sguardo ad AJAX. (tutorial AJAX di w3schools)
- Uno sguardo a jQuery. (il sito ufficiale)
- Lezione 12 (mer. 13 aprile 2011, ore 16.00)
- Esercitazione con JavaScript: validare l'input dell'utente nella bacheca personale con le espressioni regolari
- Lezione 13 (mer. 4 maggio 2011, ore 14.00)
- Introduzione a PHP. (slides)
- Uno sguardo a phpMyAdmin.
- Lezione 14 (mer. 4 maggio 2011, ore 16.00)
- Un richiamo di SQL. (slides -- per gentile concessione di Maurizio Lenzerini)
- Lezione 15 (mer. 11 maggio 2011, ore 14.00)
- PHP: dati e form -- PHP+MySQL (slides e codice dal laboratorio di Web Programming di Fabio Gadducci - A.A. 2009/2010)
- Lezione 16 (mer. 11 maggio 2011, ore 16.00)
- Esercitazione con PHP: bacheca personale con messaggi in MySQL
- Lezione 17 (mer. 18 maggio 2011, ore 14.00)
- PHP: query e sessioni (slides e codice dal laboratorio di Web Programming di Fabio Gadducci - A.A. 2009/2010)
- Lezione 18 (mer. 18 maggio 2011, ore 16.00)
- PHP: query e sessioni (prosecuzione della lezione precedente)
- Lezione 19 (mer. 24 maggio 2011, ore 14.00)
- PHP: complementi (slides)
- Lezione 20 (mer. 24 maggio 2011, ore 16.00)
- Presentazione dei progetti d'esame (slides)
- Lezione 21 (mer. 1 giugno 2011, ore 14.00)
- Esercitazione con PHP+Javascript+MySQL: petizione online (codice da completare,soluzione)
- Lezione 22 (mer. 1 giugno 2011, ore 16.00)
- Esercitazione con PHP+Javascript+MySQL: petizione online (cont.)
Materiale didattico:
Il corso non prevede un libro di testo di riferimento. Le slides presentate a lezione sono disponibili in questa stessa pagina nella sezione "Diario delle lezioni".
Per approfondire gli argomenti del corso si può consultare (oltre a Wikipedia, Google, ecc...) il seguente materiale:
Introduzione a Internet e al WWW
- Erik Wilde. Wilde's WWW: Technical Foundations of the World Wide Web. Springer, 1999.
HTML e CSS
- HTML 4.01 specification
- XHTML 1.0 specification e XHTML 1.1 specification
- CSS 2.1 specification
- Il sito w3schools contiene ottime guide (in inglese) su HTML e altri linguaggi, ricche di esempi ed esercizi guidati
- Il sito HTML.it contiene un buon tutorial su HTML (e altri linguaggi) e link a molti tool di sviluppo/editing
JavaScript, PHP e MySQL
- Robin Nixon. PHP, MySQL & JavaScript. O'Reilly, 2009.
- WikiBook su JavaScript
- Siti w3schools e HTML.it.
- Manuale di riferimento di PHP: http://www.php.net/manual/.
Software utile:
- Notepad++: (Windows) Semplice editor multilinguaggio(inclusi HTML, CSS, JavaScript e PHP) con colorazione della sintassi, autocompletamento e altre features utili
- TopStyle lite: (Windows) Editor CSS molto semplice, ma comodo da usare (la versione lite è gratuita)
- W3C Validator: (Web) Servizio "ufficiale" di validazione di documenti HTML/XHTML fornito dal W3C
- W3C CSS Validator: (Web) Servizio "ufficiale" di validazione di fogli di stile CSS fornito dal W3C
- JSLint: (Web) Analizzatore statico di codice JavaScript
- DynamicDrive: (Web) Sito che contiene centinaia di script in JavaScript/HTML dinamico pronti all'uso
- EasyPHP (Windows) Suite WAMP (Apache + MySQL + PHP) per Windows semplice e poco invasiva (consigliata!)
- XAMPP: (Multipiattaforma) Suite AMP (Apache + MySQL + PHP) multipiattaforma (per Linux consultare anche la documentazione della propria distribuzione... probabilmente fornisce una soluzione AMP proprietaria)
Esami:
L'esame consisterà nello svolgimento di un progetto e in una prova orale.
Torna all'inizio