Politecnico di Torino | |||||||||||||||||
Anno Accademico 2012/13 | |||||||||||||||||
01NVWOV Programmazione distribuita I |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
The course is taught in Italian.
Il corso fornisce le conoscenze per la realizzazione di applicazioni distribuite, a cominciare dalla cosiddetta "programmazione di rete", per arrivare alla programmazione di un'applicazione distribuita basata sul paradigma 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.
- Capacita' di applicare le conoscenze sull'interfaccia socket per realizzare applicazioni distribuite basata su questa. - Conoscenza di HTML (incluso alcuni aspetti di HTML5) e CSS - Capacita' di applicare le conoscenze sull'HTML per la realizzazione di pagine web semplici, incluso interazione con l'utente lato client tramite Javascript - Conoscenza dei meccanismi per la realizzazione di pagine web dinamiche. - Capacita' di realizzare un sito web con utilizzo di programmazione lato client tramite Javascript e lato server basata su PHP, e con utilizzo di una base dati relazionale remota |
Prerequisiti / Conoscenze pregresse
Conoscenze sulla programmazione in C di livello avanzato, inclusa gestione, comunicazione e sincronizzazione tra processi in ambiente UNIX. Conoscenze dei sistemi di gestione di basi dati relazionali e capacita' 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, HTTP.
|
Programma
Introduzione:
- modelli di elaborazione distribuita (client-server, peer-to-peer, 2-tier, 3-tier, ...) Programmazione di rete: - i socket - le chiamate di procedura remota - scheletro di un client e di un server - programmazione di rete in linguaggio C Applicazioni distribuite basate sul paradigma web: - motivazioni - HTML e CSS - il linguaggio Javascript - cenni sull'interfaccia di programmazione CGI ed i suoi limiti - ambienti di programmazione lato server (PHP) - programmazione web in PHP - gestione delle sessioni (cookie ed altri meccanismi) - integrazione con le basi di dati - cenni di AJAX |
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 verra' fornito dal docente e sara' disponibile sull'apposito sito del corso.
R. Stevens, 'Unix Network Programming', Addison Wesley. |
Criteri, regole e procedure per l'esame
Lo studente dovra' sviluppare in autonomia e consegnare entro le date stabilite le seguenti applicazioni:
- creazione di un'applicazione di rete client e/o server in linguaggio C, con specifiche assegnate - creazione di un sito web in PHP con accesso a base dati, con specifiche assegnate Lo studente dovrà inoltre sostenere una breve colloquio orale di discussione delle scelte implementative effettuate nelle applicazioni. |
Orario delle lezioni |
Statistiche superamento esami |
|