Corso di Programmazione in Rete e Laboratorio
Laurea in Informatica - percorso STISI
Anno accademico: 2004-2005
Docenti: prof. Alberto Martelli, dr. Matteo Baldoni
Numero di ore:
54 (in aula) + 36 (in laboratorio)
Numero di CFU (Crediti Formativi Universitari):
6 (in aula) + 3 (in laboratorio)
Moduli:
Nel primo trimestre è tenuto il
"MODULO 1 (lezioni in aula),
nel secondo trimestre è tenuto il
MODULO 2 (lezioni in laboratorio)".
INDICE
- Obiettivi del corso
- Competenze attese e propedeuticità
- Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)
- Programma/contenuti
- Materiale didattico di supporto (a cura del docente)
- Bibliografia (libri, articoli, documenti on-line,...)
- Controllo dell'appprendimento (durante il corso)
- Verifica (modalità d'esame)
1. Obiettivi del corso
Presentare le tematiche principali dei linguaggi di programmazione
ad oggetti attraverso il linguaggio Java.
Mostrare come questo linguaggio consenta di realizzare in
modo semplice applicazioni distribuite in rete.
2. Competenze attese e propedeuticità
-
Competenze attese in ingresso (richieste all'inizio del corso).
Il modulo presuppone un buona conoscenza delle tecniche fornite da
corsi di base di programmazione.
È inoltre richiesta una buona conoscenza dei meccanismi di
base della programmazione concorrente, come quella comunemente
fornita da un corso di sistemi operativi.
In particolare, è richiesta la conoscenza delle competenze fornite
dai corsi di:
- Programmazione I e Laboratorio
- Programmazione II e Laboratorio
- Algoritmi e Laboratorio o Algoritmi e Sperimentazioni
- Sistemi Operativi e Laboratorio o Sistemi Operativi e Sperimentazioni
-
Competenze attese in uscita (acquisite durante il corso).
Al termine del corso ci si aspetta che lo studente sappia realizzare
applicazioni distribuite usando le primitive di comunicazione e le
classi predefinite nelle librerie di Java.
3. Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)
Le lezioni in aula sono svolte sia con l'usilio di lavagna e gesso che con
l'ausilio del calcolatore (proiezione di lucidi animati) per il modulo I,
mentre le lezioni per il modulo II sono svolte in laboratorio.
Verrà utilizzato l'ambiente JDK per sviluppo ed esecuzione di programmi Java.
Grazie all'indipendenza dalla piattaforma di Java,
saranno utilizzati computer dotati di sistema operativo sia
UNIX che Windows, suddividendo gli studenti in piccoli gruppi di lavoro.
4. Programma/contenuti
Introduzione alla programmazione ad oggetti.
Il linguaggio Java. Oggetti, classi, metodi.
Gestione dinamica degli oggetti.
Ereditarietà: polimorfismo e binding dinamico.
Trattamento delle eccezioni. Interfacce grafiche in Java.
Input/output di dati ed in particolare di oggetti.
Programmazione multithread. Programmazione in rete; uso di socket.
Invocazione remota di metodi (RMI).
Programma di Laboratorio: realizzazione di una applicazione
distribuita da parte di studenti riuniti in piccoli gruppi di lavoro.
5. Materiale didattico di supporto (a cura del docente)
6. Bibliografia (libri, articoli, documenti on-line,...)
- Cay S. Horstmann e Gary Cornell. Java 2: i fondamenti.
McGraw-Hill, 2001. ISBN 88-386-4181-1.
- Cay S. Horstmann e Gary Cornell. Java 2: tecniche avanzate.
McGraw-Hill, 2000. ISBN 88-386-4071-8.
-
M. Baldoni.
Un'introduzione alla programmazione orientata agli oggetti attraverso
lo schema ``Kernel-Modulo'' Mokabyte,
(66), September,
(67), October e
(68), November 2002.
È anche disponibile una versione di tutte e tre le parti
pubblicate su MokaByte:
Matteo Baldoni.
Un'introduzione al paradigma ad oggetti attraverso lo
schema "Kernel-Modulo". Rapporto Tecnico RT 67/02 del
Dipartimento di Informatica, Università di Torino.
(PDF)
7. Controllo dell'apprendimento (durante il corso)
Il controllo sull'apprendimento avverrà assegnando agli studenti
il progetto da realizzare suddiviso in più fasi, con controlli
periodici del livello di avanzamento. Verrà anche svolto un test
a metà corso per accertare il livello di apprendimento degli
argomenti presentati a lezione.
8. Verifica (modalità d'esame)
L'esame è suddiviso in una prova scritta e nella discussione
del laboratorio proposto durante il secondo trimestre.
L'esame scritto ha l'obiettivo di verificare che il candidato
abbia assimilato le caratteristiche di Java e, più in generale,
dei linguaggi di programmazione ad oggetti, mentre la seconda parte
dell'esame riguarderà la presentazione del progetto accompagnata
da una discussione approfondita sulle scelte progettuali.
La discussione del laboratorio può essere sostenuta solo
dopo aver superato la prova scritta.
La registrazione del voto avverrà quindi dopo aver superato entrambe
le prove.
Il laboratorio può essere svolto in gruppi
di al massimo due persone. La discussione del laboratorio è
comunque individuale.
Per sostenere sia le prove scritte che le discussioni del laboratorio
è necessario prenotarsi
on-line.
Il materiale da consegnare all'esame è descritto alla
pagina del laboratorio.
La prova scritta ha validità sino all'inizio del corso di
Programmazione in Rete e Laboratorio (Modulo I)
dell'anno accademico 2005/2006.
Il testo del laboratorio proposto vale solo fino all'inizio del corso
(Modulo II) dell'anno accademico successivo (2005/2006).
Il voto per lo scritto e per il laboratorio sarà
espresso in trentesimi. Il voto finale sarà
formato dalla media pesata del voto della prova
scritta e del laboratorio, secondo il loro
contributo in CFU, e cioè
voto finale = (voto dello scritto * 2 + voto del laboratorio) / 3.
È fortemente consigliato svolgere
il laboratorio durante il corso e quindi sostenerne la relativa
discussione nella prima sessione d'esame dopo il corso stesso
(ci saranno due appelli in tale sessione).
Il laboratorio potrà
essere modificato e/o personalizzato per chi deciderà
di sostenere l'esame nelle sessioni successive.
Per modifiche si intende
anche l'aggiunta di nuove parti da svolgere.
Durante le ore di lezione in laboratorio sarà
garantita l'assistenza da parte di un docente e/o di
uno studente collaboratore. Dopo il termine
del corso l'assistenza non sarà
più garantita dalla studente collaboratore e
sarà garantita da parte del docente solo durante il
suo orario di ricevimento.
|