en
Politecnico di Torino
Anno Accademico 2011/12
01NVWOV
Programmazione distribuita I
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino
Docente Qualifica Settore Lez Es Lab Tut Anni incarico
Ciminiera Luigi ORARIO RICEVIMENTO     30 10 20 0 2
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
Esclusioni:
01NOY; 03MQP
Presentazione
The course is taught in Italian.


Insegnamento obbligatorio per la Laurea Magistrale in Ingegneria Informatica, collocato al II p.d. del I anno. Il corso fornisce le conoscenze per la realizzazione di applicazioni distribuite, a cominciare dalla così detta 'programmazione di rete', per arrivare alla programmazione lato server 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 basata su questa, anche nel caso di server dual-stack (IPv4 e IPv6)
- Conoscenza del HTML
- Capacità di applicare le conoscenze sull'HTML per la realizzazione di pagine web semplici
- Conoscenza dei meccanismi dell'ASP per la realizzazione di pagine web dinamiche.
- Capacità di realizzare un sito web con utilizzo di programmazione lato server basata su ASP, 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 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: (3,4 CFU)
- motivazioni
- il protocollo HTTP
- l'interfaccia di programmazione CGI ed i suoi limiti
- il linguaggio Javascript
- ambienti di scripting lato server (ASP)
- integrazione con le basi di dati
- gestione delle sessioni (cookie ed altri meccanismi)
- programmazione web in ASP
Cenni su prestazioni e scalabilità delle applicazioni distribuite (0,4 CFU)
Organizzazione dell'insegnamento
Verranno svolte delle esercitazioni laboratorio in cui si applicheranno le tecniche illustrate in aula.
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il materiale verrà fornito dal docente e sarà disponibile sull'apposito sito del corso.
Criteri, regole e procedure per l'esame
Lo studente dovrà sviluppare durante il corso le seguenti applicazioni:
- creazione di un server di rete in linguaggio C
- creazione di un sito web in ASP
Lo studente dovrà inoltre sostenere una breve prova scritta di teoria.
Orario delle lezioni
Statistiche superamento esami

Programma definitivo per l'A.A.2011/12
Indietro