Avvisi
Esiti dello scritto di Settembre e date discussioni progetto.
Esiti del progetto di Settembre.
Lo scritto è stato spostato al 24 settembre alle ore 10.30 in aula Beta, causa sovrapposizione con altro esame.
Testo del progetto di Settembre 2014. Data consegna: 18 settembre 2014
Modalità d'esame
L'esame è composto da un modulo di teoria e da uno di laboratorio. Il modulo di teoria è composto da uno scritto (T1) e un eventuale orale (T2), mentre il modulo di laboratorio è composto da un progetto (L1) e dalla discussione dello stesso (L2).Modulo di laboratorio
Il progetto deve essere svolto singolarmente (non sono ammesse deroghe). Il testo del progetto viene pubblicato 45 giorni prima della data dello scritto e deve essere consegnato circa 15 giorni prima dello scritto (le scadenze esatte vengono riportate nel testo del progetto). La valutazione del progetto avviene in due fasi:- Test di correttezza dell'applicazione client-server (L1): vengono verificate tutte le funzioni richieste. Il giudizio relativo è del tipo ammesso/non ammesso alla discussione e allo scritto.
- Discussione delle soluzione adottate (L2).
Modulo di teoria
La prova di teoria consiste in uno scritto obbligatorio T1 e in un eventuale orale T2. Coloro che riportano una valutazione nello scritto inferiore a 24 non possono sostenere l'orale. Coloro che riportano una valutazione nello scritto superiore o uguale a 24 possono decidere se sostenere o meno l'orale. In caso non si sostenga l'orale, la valutazione della prova di teoria viene fissata a 24. In caso si sostenga l'orale, la valutazione della prova di teoria viene data sia dalla valutazione dello scritto T1 che da quella dell'orale T2. N.B. L'orale potrebbe anche abbassare o annullare lo scritto. L'iscrizione all'esame è da effettuarsi solo per la prova di teoria T1.Date Appelli d'esame
- Febbraio 2014
- Giugno 2014
- Luglio 2014
- Settembre 2014
- Gennaio 2015
Programma Teoria
E' un corso di base che fornisce le basi concettuali e architetturali delle reti di calcolatori con particolare riferimento alla rete Internet, ai suoi protocolli, alle sue applicazioni e gli strumenti per l'analisi di reti complesse. Si acquisiscono inoltre competenze sulla programmazione di rete per la fruizione di servizi su Internet utilizzando il linguaggio di programmazione Java.
Nozioni di base sulle reti di calcolatori e Internet
Architetture a livelli: ISO/OSI e TCP/IP
Livello applicativo: web, HTTP, posta elettronica, DNS, P2P, programmazione
con le socket e web service
Tecniche di base per l'analisi di reti complesse
Livello di trasporto: protocolli TCP e UDP
Livello di rete: reti a circuito virtuale e a datagrammi, IP, protocolli di
instradamento
Livelli data link: protocolli di livello MAC per reti LAN
Programma Laboratorio
- Collection e I/O
- Threads e programmazione concorrente
- Socket TCP
- URL e HTTP
- Protocol e Content Handler
- XML, JSON - parsing
- Online Social Media API
- Librerie per la manipolazione di grafi
Testi di riferimento
- J. F. Kurose, K.W. Ross, Computer Networking, a topdown approach, 6^ edizione, Addison Wesley o l'edizione italiana
- J. F. Kurose, K.W. Ross, Reti di calcolatori e Internet, 6^ edizione, Pearson
- Dario Maggiorini, Introduzione alla Programmazione Client-Server, Pearson, 2009.
- Elliotte Rusty Harold, Java Networking Programming, O'Reilly Media, 2004
- A. S. Tanenbaum and D.J. Wetherall, Computer Networks , Pearson (5^ edizione italiana.)
- M.E.J. Newman, Networks: an introduction, Oxford University Press, 2011
- M.E.J. Newman, The structure and function of complex networks, SIAM Review, 45(2), 167-256, (2003)
- S. Boccaletti et al., Complex networks: structure and dynamics, Physics Reports 424 (2006), 175-308
- D. Easley ans J. Kleinberg, Networks, Crowds and Markets: Reasoning About a Highly Connected World, Cambridge University Press, 2010
Syllabus Teoria
Capitolo 1
- Che cos'è Internet? (1.1)
- Descrizione generale e terminologia
- Standardizzazione delle reti (approfondimento Tanenbaum 1.6)
- Applicazioni distribuite e API
- Protocolli (Problema P1)
- Una rete di reti (Sez. 1.3.2) (approfondimento su Tanenbaum p.59)
- Reti a commutazione di circuito e a commutazione di pacchetto (Sez. 1.3 e 1.3.1)
- Ritardo di nodo (Sez. 1.4 e 1.4.1)
- Architettura a livelli e incapsulamento (Sez. 1.5)
- Problemi P6 e P7 sul ritardo di nodo
- Ritardi end-to-end e throughput nelle reti
- Esercizi sui ritardi di nodo: esercizio numero 3,4,5,6 su "Esercitazioni di reti telematiche"
Capitolo 2
- Principi delle applicazioni di rete (2.1)
- Web, HTTP, Cookie, Caching (2.2)
- Domande di revisione 2,4,5,6,7 e Problemi 1, 4 del Capitolo 2
- Posta elettronica in Internet (2.4)
- DNS (2.5)
Capitolo 3:
- Introduzione al livello di trasporto (3.1)
- Multiplexing e demultiplexing (3.2)
- Protocollo UDP (3.3)
- Principi del trasferimento dati affidabili (3.4)
- TCP (3.5 e 3.7)
- Problemi sul capitolo 3: 1, 2, 3, 27, 34, 35, 40
- Problema 5.3 su "Esercitazioni di reti telematiche"
Introduzione all'analisi di network:
- Rappresentazione su grafi
- Metriche e misure (definizioni): grado, cammini, cammino minimo, diametro, componenti, degree centrality, betweeness centrality, closeness centrality, vicinato e ego-network
Capitolo 4:
- Introduzione(4.1)
- Reti datagramma (4.2.2)
- Router (4.3)
- Protocollo Internet (IP)
- Algoritmi di instradamento(4.5)
- Instradamento in Internet (4.6)
- Approfondimenti ed esempi sul Tanenbaum: Algoritmi di routing (5.2), prefissi, sottoreti e CIDR (5.6.2)
Syllabus Laboratorio
- 2-3/10/2013: Aspetti organizzativi, introduzione ad Eclipse mediante esercizi
- Librerie da importare
- Soluzione degli esercizi
- 9 (Turno M-Z) -10 (Turno A-L) /10/2013: Java Collection
- Codice per l'esercizio 1
- Codice per l'esercizio 5
- Alice nel paese delle meraviglie
- Impiegati
- Soluzione degli esercizi
- 16 (Turno A-L) -17 (Turno M-Z) /10/2013: I/O Streams
- 23 (Turno M-Z) -24 (Turno A-L) /10/2013: Threads
- Esempi presentati a lezione
- Le soluzioni degli esercizi nel file Lezioni.zip nel package corrispondente alla lezione
- 29/10/2013: InetAddress, URL, Socket e ServerSocket
- Esempi presentati a lezione nel package url e socket
- 30 (A-L) -31 (M-Z) /10/2013: Esercitazione
- Soluzioni pubblicate
- 06-07/10/2013: HTTP
- 13-14/11/2013: XML e JSON
- Esempi presentati a lezione nel package xmlJson
- 20-21/11/2013: RSS e FB Graph API
- Soluzione degli esercizi della lezione precedente nel package xmlJson
- 27-28/11/2013: Esercitazion esu HTTP, JSON, XML e FB Graph API
- Soluzioni degli esercizi con le Graph API nel package facebook
- 04-05/11/2013: Grafi e libreria per grafi
- Codice di esempio nel package grafi
- Avviso per il turno di mercoledì: La pagina del form contiene più istruzioni e indicazioni utili per superare la prova
- 04-05/11/2013: Algoritmi e misure su grafi, soluzione della prova "Caccia al tesoro", Server HTTP
- Codice della soluzione della caccia al tesoro nel package cacciaAlTesoro
Progetto
- Testo del progetto valido per la prima sessione di Febbraio 2014
- Testo del progetto valido per la seconda sessione di Febbraio 2014
Esempi di tema d'esame scritto
Orario
Le ore di laboratorio sono suddivise in due turni secondo la lettera iniziale del cognome. Il turno A-L e il turno M-Z si alternano ogni settimana, quindi nella prima settimana il turno A-L sarà al mercoledì e al giovedì nella seconda.Martedì | 14:15 - 17:30 Aula V1 (via Venezian) |
Mercoledì | 13:45 - 16:45 Aula 309 (via Celoria) |
Giovedì | 13:45 - 16:45 Aula 309 (via Celoria) |
Venerdì | 9:30 - 12:30 Aula V1 (via Venezian) |
Anni precedenti
Contatti
Sabrina Gaito | ricevimento su appuntamento |
Matteo Zignani | ricevimento su appuntamento |