Politecnico di Torino | |||||||||||||||||
Anno Accademico 2012/13 | |||||||||||||||||
03NQVOC Distributed programming |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Telematica (Computer And Communication Networks Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
Insegnamento per la Laurea Magistrale in Computer and Communication Networks Engineering, collocato al II p.d. del II anno. Il corso fornisce le conoscenze per la realizzazione di applicazioni distribuite, a cominciare dalla così detta 'programmazione di rete', per arrivare alla programmazione di un sito web, che includa anche l'uso di una base dati relazionale remota.
|
Risultati di apprendimento attesi
-- Conoscenza dell'interfaccia socket in C per la programmazione di rete, sia nella versione per IPv4, sia in quella per IPv6.
- Capacità di applicare le conoscenze sull'interfaccia socket per realizzare applicazioni distribuite basate su questa, anche nel caso di server dual-stack (IPv4 e IPv6) - Conoscenza dell'HTML - Capacità di applicare le conoscenze sull'HTML per la realizzazione di pagine web semplici - Conoscenza dei meccanismi per la realizzazione di pagine web dinamiche. - Conoscenza dell'XML e della tecnica AJAX. - Capacità di realizzare un sito web con utilizzo di programmazione lato server e client basata su pagine dinamiche e tecnica AJAX, e con utilizzo di una base dati relazionale remota |
Prerequisiti / Conoscenze pregresse
Conoscenze sulla programmazione in C di livello avanzate. Conoscenze dei sistemi di gestione di basi dati relazionali e capacità di definire operazioni su di essi, in linguaggio SQL. Conoscenze sui principali protocolli per reti di calcolatori, con particolare riguardo a TCP, UDP, IPv4 e IPv6.
|
Programma
Introduzione: (0,2 CFU)
- modelli di elaborazione distribuita (client-server, peer-to-peer, 2-tier, 3-tier, ...) - generalità relative ai protocolli applicativi (modalità di interazione, codifica dei dati, gestione delle sessioni, ...) Programmazione di rete: (2,4 CFU) - i socket - le chiamate di procedura remota (RPC, RMI) - scheletro di un client e di un server - programmazione di rete in linguaggio C Applicazioni distribuite basate sul paradigma web: (5 CFU) - motivazioni - il protocollo HTTP - l'interfaccia di programmazione CGI ed i suoi limiti - il linguaggio Javascript - ambienti di scripting lato server (PHP) - integrazione con le basi di dati - gestione delle sessioni (cookie ed altri meccanismi) - programmazione web (PHP) - XML come tecnica per lo scambio di dati tra applicazioni eterogenee - la tecnica AJAX - cenni sui web services Cenni su prestazioni e scalabilità delle applicazioni distribuite (0,4 CFU) |
|
Organizzazione dell'insegnamento
Verranno svolte delle esercitazioni in laboratorio in cui si applicheranno le tecniche illustrate in aula.
|
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il docente fornirà materiale didattico (copia delle trasparenze) che sarà disponibile sull'apposito sito del corso.
Vengono consigliati i seguenti testi: W.R. Stevens, B. Fenner, A. M. Rudoff, "Unix Network Programming", Volume 1, 3rd Ed., Pearson, 2004 R. Nixon, "Learning PHP, MySQL & JavaScript", O’Reilly, 2009 |
|
Criteri, regole e procedure per l'esame
Ai fini della valutazione finale verrà assegnato un esercizio di programmazione che comprende
- la realizzazione di un server e/o di un client di rete in linguaggio C - la creazione di un sito web Completerà l’esame un colloquio nel quale verranno discusse le soluzioni dell’esercizio assegnato, con riferimento al programma del corso |
|
Orario delle lezioni |
Statistiche superamento esami |
|