Corso di Tecnologie Web

Informazioni generali

Primo semestre
6 crediti
Docente: Anna Corazza
Orario: Martedì e giovedì 8:30-10:30 Aula E3

In evidenza

Nella sessione di esami di gennaio-febbraio 2012 (dal 2 febbraio al 7 marzo compresi) terrò una seduta d'esame indicativamente ogni mercoledì, a meno di comunicazioni diverse. Un'ulteriore sessione di esame si terrà mercoledì 28 marzo. Valgono le seguenti regole:
  • È obbligatorio iscriversi all'esame inviandomi un messaggio di posta elettronica con almeno 8 giorni di anticipo (quindi se l'esame si tiene di mercoledì, entro la mezzanotte del martedì della settimana precedente) con subject "[tecweb]Prenotazione esame" e all'interno del messaggio: nome, cognome, matricola, progetto svolto (Gestione eventi, per il primo), gruppo di appartenenza (cognome del primo membro in ordine alfabetico).
  • Non è mai possibile sostenere l'orale in due settimane successive.
  • Chi si prenota e poi non si presenta perde il diritto di fare l'orale per due ulteriori settimane.
  • Alla fine di ogni orale giudicato non sufficiente il docente deciderà la prima data utile per ripeterlo.

Progetti

L'organizzazione del progetto prevede che entro la scadenza riportata nel problema proposto venga inviata alla dott.ssa Alicante e in cc a corazza@na.infn.it, una proposta di soluzione, secondo le indicazioni riportate qui di seguito.

Nella proposta di soluzione vanno prima di tutto indicati i due o tre componenti del gruppo (nome, cognome e matricola). Scopo principale della proposta è la discussione e motivazione delle diverse scelte progettuali. Si consiglia di cominciare definendo i diversi tipi di utente, assieme alle funzionalità di sistema associate a ciascun tipo. Se si vuole, si possono usare strumenti quali gli use cases, ma non è obbligatorio.

A partire da tale risultato, si costruisca la site map con l'estensione di UML di Conallen. Propodeutica a tale mappa è la partizione delle funzionalità tra client e server.

Infine, si propongano gli strumenti da utilizzare per l'implementazione delle singole parti.

La relazione finale, invece, dovra seguire lo schema indicato.

Per assistenza ai progetti la pagina della dott.ssa Alicante.

Il primo problema viene pubblicato il 7 dicembre 2011: la proposta di soluzione deve venir consegnata (per posta elettronica) entro il 19 dicembre.

Il secondo problema viene pubblicato il 16 gennaio 2012: la proposta di soluzione deve venir consegnata (per posta elettronica) entro il 26 gennaio.

Il terzo problema viene pubblicato il 9 febbraio 2012: la proposta di soluzione deve venir consegnata (per posta elettronica) entro il 19 febbraio.

Esami

Per aiutare gli studenti a preparare l'esame orale, raccolgo possibili domande, anche con l'aiuto di alcuni studenti che assistendo all'esame se le sono annotate e me le hanno inviate. Resta inteso che l'elenco riportato non è affatto esaustivo e all'esame posso fare domande che non sono nell'elenco.

Attenzione: prossimo appello: mercoledì 28 marzo con prenotazione secondo le solite modalità.

Gli esami si terranno nella sala riunioni accanto al mio ufficio.

Ora Studente
Venerdì 30 marzo
11:30 Carlo Buonauro, 566/2250, Risiko, Buonauro

Notizie generali sul corso

OBIETTIVI FORMATIVI. Scopo del corso è di fornire concetti e tecniche per la progettazione di siti web sofisticati. Alla fine del corso, lo studente dovrebbe quindi essere in grado di progettare un'applicazione web scegliendo gli strumenti più adatti e di seguire l'evoluzione delle tecnologie legate a questo campo di applicazione.

CONTENUTI. Introduzione al web: protocollo HTTP, architettura a tre e più strati, web statico e web dinamico, linguaggi di mark-up (XML/HTML/XHTML). Programmazione lato server: strumenti basati su Java, quali servlet, JSP, JavaBeans, JDBC; cenni di PHP. Programmazione lato client: applet, JavaScript, fogli di stile (CSS e XSL), DOM, AJAX. Introduzione a terminali mobili, browsing vocale e programmazione su web (bots, spiders e crawlers).


Esame: Scopo del corso è di fornire le basi teoriche per comprendere gli sviluppo di un campo in rapida espansione come questo ed essere in grado di applicarle nello sviluppo di sistemi. L'esame comprende quindi un progetto (da svolgersi in gruppo), il cui scopo è di dimostrare l'acquisizione di tale capacità, e un orale. Viste queste premesse, sconsiglio vivamente di cominciare il progetto prima di aver studiato la teoria: non mi interesse vedere un giochino che alla fine funziona, ma la dimostrazione che avete acquisito gli strumenti metodologici e tecnologici per lo sviluppo e siete in grado di applicarli.

È obbligatorio iscriversi all'esame inviandomi un messaggio di posta elettronica con almeno 8 giorni di anticipo (quindi se l'esame si tiene di mercoledì, entro la mezzanotte del martedì della settimana precedente) con subject "[tecweb]Prenotazione esame" e all'interno del messaggio: nome, cognome, matricola, progetto svolto, gruppo di appartenenza (cognome del primo membro in ordine alfabetico).

Io non guardo il progetto fino all'esame. Potete fare l'esame sia insieme che singolarmente: in entrambi i casi le domande sono individuali e la prima parte della discussione di solito verte sul progetto, che dovete conoscere e saper motivare alla perfezione in ogni sua parte (non accetto nessun:"questo modulo l'ha sviluppato il mio collega" -- siete tutti ugualmente responsabili di ogni singola parte del progetto).

Di norma, dedico agli esami un giorno alla settimana per tutta la durata della sessione di gennaio-febbraio: posso saltare una settimana, ma avvertirò con ampio anticipo. Fisserò un altro appello durante il secondo semestre, cercando però di ridurre al minimo il disturbo alle lezioni. Nella sessione estiva (giugno luglio) di norma fisso tre date, più una a settembre. Informazioni sulle date verranno rese disponibili su questo sito.

Lo svolgimento del progetto è regolato dalle seguenti norme:

  1. Le diverse chiamate per progetti che vengono proposte con cadenza approssimativamente mensile sono da considerarsi in alternativa, per dare modo agli studenti di organizzare al meglio possibile il carico di lavoro.
  2. Il progetto va svolto in gruppi di due o tre studenti; solo in casi eccezionali è possibile svolgerlo anche da soli. Si tenga presente che, benché per mia esperienza la qualità dei progetti svolti da soli sia difficilmente dello stesso livello di quello svolto in gruppo, la valutazione non terrà conto del fatto che il lavoro è stato fatto da soli, visto che la scelta è stata fatta sotto la responsibilità dello studente. Non verranno invece accettati gruppi da più di tre persone, che vanno quindi suddivisi in gruppi più piccoli.
  3. Il progetto si divide in due fasi: la presentazione e discussione di una proposta e l'implementazione vera e propria. La scadenza data assieme alla presentazione del problema si riferisce alla presentazione della proposta. La scadenza e i requisiti richiesti per l'implementazione verranno fissati durante la discussione della proposta, approssimativamente dopo tre o quattro settimane.
  4. La proposta deve contenere l'analisi del problema e una o più soluzioni possibili, con relativa discussione.
  5. Per i problemi proposti durante lo svolgimento del corso sono utilizzabili tutti e soli gli strumenti discussi a lezione fino alla data di pubblicazione del problema.
  6. Anche se spesso la soluzione del problema richiederà l'uso di una base di dati, il peso di questa parte del progetto sulla valutazione è basso rispetto alle tecnologie discusse nel corso. Eccezione a questa regola è il caso in cui il progetto venga coordinato con quello di basi di dati, nel qual caso la parte riguardante la base di dati verrà discussa col professore di basi di dati.
  7. Tutti i progetti rimangono validi fino all'inizio del corso successivo: quindi, per l'aa. 2010-11, i progetti scadranno inderogabilmente con la sessione d'esame di settembre 2011.

Bibliografia di riferimento

  1. Vincenzo Della Mea, Luca Di Gaspero, Ivan Scagnetto, "Programmazione web lato server:, Apogeo, 2010
  2. Harvey M. Deitel, T.R. Nieto, Paul J. Deitel, "Internet & World Wide Web, How to program", Prentice Hall, Second edition, 2002.
  3. Paul Prescod, Charles F. Goldfarb, "XML Handbook", Prentice Hall, Second edition, 2000.
  4. Luke Welling and Laura Thomson, "PHP and MySQL Web Development", Sams Pulisher, 2001.

Materiale per il corso protetto da password da richiedersi al docente.


Last modified: Thu Mar 29 16:57:36 CEST 2012