Questa è una vecchia versione del documento!
Indice
Laboratorio di Programmazione di Rete Anno Accademico 2010-11
Polo Didattico La Spezia
Docente: Laura Ricci
Orario delle Lezioni
| Venerdì | 9-11 | Aula A5 |
| Venerdì | 11-13 | Laboratorio 1 |
Orario di Ricevimento
Giovedì ore 15.00-18.00, Pisa presso il mio Studio
Per qualsiasi problema potete contattarmi in qualsiasi momento via e-mail
Materiale Didattico
** Lucidi del Corso **
Libri di Testo
- Esmond Pitt, ** Fundamental Networking in Java, ISBN 1-84628-030-3, Springer Verlag, 2005 NOTA BENE :Una copia di questo libro è disponibile presso il tutor didattico * Bruce Eckel, ** Thinking in JAVA, Volume 3 - Concorrenza e interfacce grafiche, Pearson Education Italia, 2006
- Brian Goetz, ** Java Concurrency in Practice **, Addison-Wesley, 2006.
Testi di Consultazione
- Harold, JAVA Network Programming 3nd edition O'Reilly, 2004.
- K.Calvert, M.Donhaoo, TCP/IP Sockets in JAVA, Practical Guide for Programmers
**Costrutti di base di JAVA:riferimenti **
- Cay Horstmann – Concetti di Informatica e Fondamenti di Java 2
Modalitá d'esame
**Progetto+Orale **
*Progetto L'esame si svolge presso il Laboratorio del Polo Marconi, circa una settimana dopo la consegna del codice e della relazione
Gli studenti che non hanno frequentato le lezioni di laboratorio (studenti lavoratori) sono pregati di mettersi in contatto con me prima dell'inizio dello svolgimento del progetto
*Orale: verte sulla discussione del progetto e in generale sugli argomenti trattati nel corso.
Tutti gli studenti che consegneranno una soluzione corretta degli esercizi assegnati a lezione, entro 15 giorni dalla presentazione degli esercizi, otterranno un 'bonus' per l'esame finale
Gli esercizi assegnati nella prima parte del corso possono essere consegnati entro il 29 aprile
Programma Preliminare
**Thread Programming **
- Attivazione di threads. La classe Runnable
- Pool di threads: politiche per la gestione dei Pool
- Thread che restituiscono risultati: la classe Callable
- Stati di un thread, metodi Join, Interrupt
- Sincronizzazione, concetto di monitor
- Metodi Synchronized, sezioni critiche, wait(), notify(), notifyall()
- Sezioni di codice Indivisibili: Lock
Gestione di indirizzi IP
- Classe InetAddress
Sockets TCP
- Le classi Socket, ServerSocket
- Stream: concetti generali
- Invio di dati strutturati su stream
- Stream di Oggetti, Serializzazione
- Implementazione di socket TCP
- Stati di un Socket
- Demultiplexing
Sockets UDP
- DatagramSockets, DatagramPackets
- Generazione di pacchetti UDP: Le classi ByteArrayInputStream, ByteArrayOutputStream
Remote Method Invocation
- Attivazione di registry
- Esportazione di oggetti remoti
- RMI callbacks
- RMI: Supporto concorrente
Progetto di Fine Corso
* ** News Alert: Un sistema Per la Diusione di Notizie in Rete**
Modalità di Consegna del Progetto
* **Il Progetto è valido fino al 30 aprile 2012 **
* E' possibile consegnare il progetto in uno qualsiasi momento, escluso i periodi di vacanze
* L'esame (discussione del progetto+ orale) si terrà circa una settimana dopo la data di consegna
Registro delle lezioni:
| Giorno | Argomenti | Lucidi | Materiale Integrativo |
|---|---|---|---|
| 14/03/2011 | Introduzione al corso, Attivazione, Interruzione Threads, Thread Pooling | ||
| 18/03/2011 | Thread Pooling, Classe InetAddress | ||
| 25/03/2011 | TCP Socket API | ||
| 01/04/2011 | Meccanismi per la Sincronizzazione di Threads | ||
| 08/04/2011 | Supporto a Socket TCP: Stati di un Socket, Buffering, Proprietà | ||
| 15/04/2011 | UDP Socket API | ||
| 29/04/2011 | Correzione di un Esercizio | ||
| 06/05/2011 | MulticastIP: Concetti Generali, API JAVA | Tutorial sull'Assegnazione di Indirizzi di Multicast | |
| 13/05/2011 | Remote Method Invocation | Attenzione: 25/5/2011: ultimo upload, corretto un errore | |
| 20/05/2011 | RMI CallBacks | ||
| 27/05/2011 | Presentazione del Progetto, GUI Interface |
