Questo insegnamento spiega tecniche avanzate di programmazione orientata agli oggetti e di progettazione del software.

Informazioni

Data Avviso
05/02/2010 È disponibile il testo per il progetto. Gli studenti che intendono sostenere l'esame devono inviare tramite posta elettronica i sorgenti della loro implementazione e prendere appuntamento per la discussione.
14/12/2009 Le lezioni di giovedì 7/1 e di martedì 12/1 sono sospese.
16/10/2009 La lezione di giovedì 10/12 di Sistemi per l'elaborazione dell'informazione 2 si svolgerà in aula 5 anziché in aula 2.
08/10/2009 A partire da martedì 20/10 il laboratorio di Sistemi per l'elaborazione dell'informazione 2 si svolgerà dalle 12:30 alle 15:30 nel LID.
06/10/2009 Al fine di consentire la partecipazione degli studenti al Career Day dell'Ateneo, la lezione di giovedì di Sistemi per l'elaboration dell'informazione 2 dell'8/10 è sospesa. Conseguentemente, verrà sospeso anche il laboratorio di martedì 13/10.
28/09/2009 Le lezioni inizieranno martedì 29/09 alle 14:30 nel LID.

Orari del corso

Le lezioni si svolgeranno presso il dipartimento di Matematica, secondo il seguente orario:

Giorno Ora Luogo
martedì 12:30 - 15:30 LID
giovedì 14:30 - 16:30 aula 2

Eventuali variazioni rispetto al calendario pianificato verranno comunicate in aula e pubblicizzate nel paragrafo Avvisi di questa pagina.

Orario di ricevimento

Via mail. È possibile contattare il docente tramite posta elettronica, avendo cura di leggere preventivamente la guida predisposta dal Prof. Sebastiano Vigna e di specificare chiaramente nell'oggetto del messaggio il nome dell'insegnamento e l'anno accademico. In particolare, si invitano gli studenti a usare sempre come mittente l'indirizzo fornito loro dall'Ateneo (basato cioè sul dominio studenti.unimi.it) firmando con nome, cognome e matricola e ricordando che i tempi di risposta possono variare in funzione degli impegni del docente.

Materiale didattico

Relativamente ai disegni progettuali, il libro consigliato è Partha Kuchana, Software Architecture Design Patterns in Java, Auerbach Publications (ISBN: 0849321425). È anche disponibile gratuitamente il libro online di James W. Cooper, The Design Patterns Java Companion.

Per la parte sui test unitari si consiglia di leggere il relativo tutorial di Java.net.

Per la parte sul Java Collections Framework si consiglia di leggere il relativo tutorial della Sun.

Per la parte sulla riflessività si consiglia di leggere il relativo tutorial della Sun.

Per la parte sulla programmazione concorrente si consiglia di leggere il relativo tutorial della Sun.

Per la parte sull'uso di SWT si consiglia di leggere i relativi tutorial che riguardano i widget di base e i dispositori predisposti dalla University of Manitoba.

Per la parte relativa all'uso del disegno MVC si consiglia di leggere la parte iniziale dell'articolo Building Graphical User Interfaces with the MVC Pattern, tenendo conto però che il codice presentato a lezione implementa gli stessi esempi ma utilizzando tecniche differenti e sfruttando la libreria SWT. I widget utilizzati nella stessa lezione sono descritti in parte nella bibliografia già indicata e in parte nel tutorial che riguarda i widget avanzati, predisposto dalla University of Manitoba.

Per la parte sulla serializzazione si consiglia di leggere il relativo tutorial della Sun.

Per la parte sui tipi generici si consiglia di leggere i relativi tutorial di base e avanzato pubblicati dalla Sun.

Per la parte sulla programmazione di rete si consiglia di leggere i primi tre paragrafi del relativo tutorial pubblicato dalla Sun.

Per la parte sull'analisi di documenti HTML si consiglia di leggere il relativo tutorial pubblicato dalla Sun.

Per la parte sull'uso delle espressioni regolari si consiglia di leggere il relativo tutorial pubblicato dalla Sun.

Programma

Il programma riguarda gli argomenti dettagliati nel calendario delle lezioni, che corrisponde al materiale trattato nei capitoli 2, 10-20, 22-26, 29-36 del libro di testo e all'interno dei tutorial indicati nel paragrafo Materiale didattico.

Calendario delle lezioni

Loading...

Nel laboratorio la rete è disponibile solamente tramite proxy. Questo richiede di specificare le opzioni -Dhttp.proxyHost=159.149.43.252 -Dhttp.proxyPort=3128 alla JVM usata per lanciare le applicazioni. Il calendario delle lezioni e degli appelli è basato su Google calendar ed è accessibile anche tramite feed, iCal e Web.

Modalità d'esame

L'esame consiste nella realizzazione di un progetto su base individuale, da presentare su appuntamento.