====== LPR-B - A.A. 2008-09====== [[..:|Torna alla pagina principale di LPR-B]] **Docenti**: [[http://www.di.unipi.it/~andrea/|Andrea Corradini]] e [[http://www.di.unipi.it/~campa/|Sonia Campa]] ===== Orario di lezione ===== ^ Giorno ^ Orario ^ Aula ^ Tipo ^ | Lunedì | **9--11** | H | esercitazione | | Mercoledì | 11--13 | D1 | lezione | **AVVISO: A partire da lunedi' 10 novembre, si organizzera' un solo gruppo di esercitazione dalle 9 alle 11, in considerazione del numero di frequentanti ** ===== Orario di ricevimento ===== ^ Giorno ^ Orario ^ Luogo ^ | Lunedì | 15--18 | Studio Prof. Corradini (Dipartimento di Informatica) | oppure su appuntamento: mandare un email all'indirizzo . ===== Lezioni ===== Gli studenti sono pregati di **registrarsi al corso** inserendo i propri dati nel registro che può essere chiesto a lezione al docente. Per questo corso non c'è **obbligo di frequenza**, ma la frequenza è **fortemente consigliata**. * {{Iscritti-LPR-B-08.pdf|Iscritti al corso (aggiornato al 24 settembre 2008)}} con divisione in gruppi. ^ N ^ Data ^ Ora ^ Tipo lezione ^ Aula ^ Argomento | | 1 | Lun 22/09 | 9-13 | Esercitazioni | H | Introduzione corso, [[esercizi#Test di ingresso|Test di Ingresso]] | | 2 | Mer 24/09 | 11-13 | Teoria | D1 | {{01-Threads.pdf|Tasks e threads in Java}} | | 3 | Lun 29/09 | 9-13 | Esercitazioni | H | [[esercizi#Tasks e Threads|Esercizi su Tasks e Threads (con alcune soluzioni)]] | | 4 | Mer 1/10 | 11-13 | Teoria | D1 | {{02-ThreadPoolingInetAddresses.pdf|Thread Pooling e Indirizzi IP}} | | 5 | Lun 6/10 | 9-13 | Esercitazioni | H | [[esercizi#Thread Pooling e Indirizzi IP|Esercizi su Thread Pooling e Indirizzi IP]] | | 6 | Mer 8/10 | 11-13 | Teoria | D1 | {{03-ThreadSynchronization.pdf|Sincronizzazione di Thread}} | | 7 | Lun 13/10 | 9-13 | Esercitazioni | H | [[esercizi#Sincronizzazione di Thread|Esercizi su Sincronizzazione di Thread]] | | | Mer 15/10 | 11-13 | Teoria | | **Lezione annullata per sospensione della didattica** | | | Lun 20/10 | 9-13 | Esercitazioni | | **Esercitazione annullata per sospensione della didattica** | | 8 | Mer 22/10 | 11-13 | Teoria | D1 | {{04-UDP-Sockets.pdf|Il protocollo UDP: Sockets e Datagrams}} | | 9 | Lun 27/10 | 9-13 | Esercitazioni | H | [[esercizi#Il Protocollo UDP|Esercizi su UDP, Sockets e Datagrams]] | | 10 | Mer 29/10 | 11-13 | Teoria | D1 | {{05-UDP-Packets.pdf|UDP: Costruzione di pacchetti}} | | 11 | Lun 10/11 | **9-11** | Esercitazioni | H | [[esercizi#Il Protocollo UDP [2]|Esercizi su UDP: Serializzazione, MiniTalk e File Transfer]] | | 12 | Mer 12/11 | 11-13 | Teoria | D1 | {{06-TCP-StreamSockets.pdf|Il Protocollo TCP: Stream Sockets}} | | 13 | Lun 17/11 | **9-11** | Esercitazioni | H | [[esercizi#Il Protocollo TCP|Esercizi su TCP]] | | 14 | Mer 19/11 | 11-13 | Teoria | D1 | {{07-TCP-Sockets-Multicast.pdf|Sockets TCP e Multicast}}, {{06-lab-lpr-tcp.pdf|Linux Networking Tolks}} | | 15 | Lun 24/11 | **9-11** | Esercitazioni | H | [[esercizi#Ancora TCP e Multicast|Esercizi su TCP e Multicast]] | | 16 | Mer 26/11 | 11-13 | Teoria | D1 | {{08-RMI.pdf|Remote Method Invocation}} | | 17 | Lun 1/12 | **9-11** | Esercitazioni | H | [[esercizi#Esercizi su RMI|Esercizi su RMI]] | | 18 | Mer 3/12 | 11-13 | Teoria | D1 | {{09-RMI-Callback.pdf|RMI Callbacks, Politiche di saturazione e Blocchi sincronizzati}} | | | Lun 8/12 | | **FESTIVO** | | [[esercizi#Esercizi su RMI Callbacks|Esercizi su RMI Callbacks]] | | 19 | Mer 10/12 | 11-13 | Teoria | D1 | {{10-CollezSynchr.pdf|Collezioni Sincronizzate}}, {{10-socket-sicuri.pdf|Socket Sicuri}} | | 20 | Lun 15/12 | **9-11** | Esercitazioni | H | [[esercizi#Esercizi su Collezioni Sincronizzate e Secure Seckets|Esercizi proposti]], Presentazione del {{progetto-lpr-b-08.pdf|progetto}} | ===== Esami ===== * **Modalità di esame**: Progetto finale + orale. * La {{progetto-lpr-b-08.pdf|traccia del progetto}} (versione 0.8) può essere scaricata. * Il progetto e' valido fino al **30 novembre 2009**, ma si invitano fortemente gli studenti a sottometterlo entro il **20 settembre 2009**. * Vanno consegnati **sorgenti e relazione**, come descritto nel testo del progetto. * L'**orale** consiste nella //discussione// del progetto e in //domande sugli argomenti trattati nelle lezioni teoriche// (soprattutto quelli non coperti dal progetto). * **ATTENZIONE**: la data ultima di consegna del progetto è **Lunedì 7 dicembre 2009**. Progetti consegnati oltre tale data non saranno accettati. Gli studenti che non consegnano entro tale data dovranno sostenere l'esame con il progetto e le modalità stabilite per il Corso LPR 2009-10. ===== Materiale didattico ===== * [[start#lezioni|Lucidi delle lezioni]] * Harold, **Java Network Programming Third Edition**, //October 2004 ISBN 10: 0-596-00721-3 ISBN 13: 9780596007218 Pages: 760//, [[http://oreilly.com/catalog/9780596007218/]]. Questo libro è da intendersi come un manuale da consultare mentre si realizzano gli esercizi ed il progetto del corso. Non è un libro di reti. Assumeremo durante il corso che le nozioni necessarie siano fornite dal corso di **Reti di Calcolatori**, parallelo al corso di LPR. * [[http://java.sun.com/javase/6/docs/api/|Documentazione on line]] (API) di Java. * **Materiale di consultazione** * Esmond Pitt, ** Fundamental Networking in Java**, ISBN 1-84628-030-3, Springer Verlag, 2005 * Bruce Eckel, ** Thinking in JAVA, Volume 3 - Concorrenza e interfacce grafiche**, Pearson Education Italia, 2006 * M.Hughes, M. Shoffner, D.Hammer, **Java Network Programming**, [[http://www.libreriauniversitaria.it/java-network-programming-merlin-hughes/book/9781884777493]] * K.Calvert, M.Donhaoo, **TCP/IP Sockets in JAVA, Practical Guide for Programmers** * Per i costrutti di base: * **Cay Horstmann – Concetti di Informatica e Fondamenti di Java 2** * Pagine del corso di [[http://projects.cli.di.unipi.it/LIP/|Laboratorio di Introduzione alla Programmazione]] * **Esercizi** * La pagina degli [[esercizi|esercizi]] verrà regolarmente aggiornata con gli esercizi proposti per le esercitazioni in aula H, e eventualmente con soluzioni proposte. * **Note ** * Sulla pagina delle [[note|note]] verranno pubblicate tutte le note di supporto al corso. ===== Ambiente di sviluppo ===== Ai fini del corso la versione di Java da utilizzare è la 1.5. Si può ovviamente utilizzare la più recente 1.6, senza però utilizzare caratteristiche “nuove”, salvo nei casi indicati esplicitamente dal docente. L’ambiente di programmazione consigliato è [[http://www.eclipse.org/|Eclipse]] ma al fine del superamento dell’esame è fondamentale conoscere anche il funzionamento dell’ambiente standard Java da riga di comando. ===== ===== [[..:|Torna alla pagina principale di LPR-B]]