LABORATORIO DI PROGRAMMAZIONE DI RETE
CORSO A
A.A. 2006-2007



          Lunedi'             9-11                 -   Teoria  Aula A    
       Lunedi'            11-13                -   Laboratorio  Aula M     
       Mercoledi'        9-11                 -   Laboratorio Aula M



        E' previsto lo svolgimento di un progetto da svolgersi in gruppo. Ogni gruppo puo' comprendere al massimo due
        persone. La parte orale dell'esame comprende sia la discussione del progetto che una verifica dell'apprendimento
        dei principali concetti presentati nel corso, con particolare enfasi sulle tecniche non utilizzate nello svolgimento del
        progetto.

      risulta inutile ai fini del superamento dell'esame

       
Harold, JAVA Network Programming 3nd edition O'Reilly, 2004
        Questo testo contiene la descrizione  delle librerie JAVA che devono essere utilizzate per lo
        sviluppo del progetto. Attenzione: usare la terza edizione che fa riferimento a JAVA 1.5! (disponibile in libreria)

M.L. Liu, Distributed Computing: Principles and Applications, Pearson Addison Wesley, 2004
Questo testo introduce in modo semplice tutti i principali concetti del corso. La parte orale dell'esame
puo' essere preparata facendo riferimento a questo testo  (non disponibile in libreria)

Attenzione: Materiale didattico estratto dal libro e' stato consegnato agli studenti. Chi non ne e' in possesso,
puo' rivolgersi dirattamente al docente.

Sito web dell'autrice del testo: http://www.csc.calpoly.edu/~mliu/book

Altro materiale didattico verra' distribuito a lezione

          Fotocopie di tutti i lucidi pubblicati sono disponibili presso il centro di calcolo del Polo Fibonacci. Per ritirare le fotocopie e' necessario
         fornire direttamente ( non per e-mail) al docente nome, cognome, numero di matricola.
         L'elenco degli studenti che si sono registrati per ritirare le fotocopie e' attualmente questo



Durante ogni lezione verranno assegnati alcuni esercizi da svolgere entro due giorni. Gli esercizi verranno controllati durante le ore di laboratorio del mercoledi'



     Vi prego di segnalare a ricci@di.unipi.it qualsiasi errore riscontrato sui lucidi pubblicati.



  Testo del Progetto

Eventuali chiarimenti sul testo possono essere richiesti via e-mail o durante gli orari di ricevimento

Il progetto puo' essere consegnato nei seguenti periodi
                    gennaio-marzo 2007
                    15 maggio- luglio 2007
                    settembre-novemebre 2007
In ogni caso l'orale si terra' una settimana dopo la consegna del progetto







         
25/09/2006 Lezione 1: Introduzione al Corso, Threads

27/09/2006 Esercitazione 1: Metodi per la gestione di Threads

02/09/2006 Lezione 2: Schedulazione di threads, Sincronizzazione
ATTENZIONE: a lezione e' stato distribuito del materiale sulla parte relativa alla schedulazione dei threads

04/10/2006 Esercitazione 2: Sincronizzazione di threads

09/10/2006 Lezione 3: Sincronizzazione di metodi statici, la Classe InetAddress

11/10/2006 Esercitazione 2: Gestione di rete: comandi di base

16/10/2006 Lezione 4: Il protocollo UDP. Classi DatagramSocket e DatagramPacket

18/10/2006 Esercitazione 3: Interfaccia JAVA per l'utilizzo del protocollo UDP

23/10/2006: Lezione 5: JAVA streams.Generazione di pacchetti UDP

25/10/2006: Filtri su streams: esempi

30/10/2006: Lezione 6:UDP Multicast

13/11/2006; Lezione 7; Il protocollo TCP. Classi Socket e ServerSocket

20/11/2006: Sockets Sicuri Guest Lecture tenuta da Paolo Mori

20/11/2006: Lezione 7b: Socket sicuri (continuazione)

23/11/2006: Il Protocollo TCP: esercitazione

27/11/2006: Lezione 8: RMI, meccanismi, callbacks

04/12/2006 Lezione 9: RMI CallBacks: esempi. Thread Pooling: la classe java.util.concurrent
ATTENZIONE: a lezione e' stato distribuito materiale relativo al Thread pooling con riferimento a JAVA5.0

06/12/2006 Lezione 9 bis: RMI, esercizi

11/12/2206 Lezione 10: Elementi di GUI JAVA per la risoluzione del progetto