il corso presenta il linguaggio Java e la programmazione a diversi livelli di astrazione: la programmazione ad oggetti, la programmazione concorrente, e la programmazione distribuita.
Programmazione ad Oggetti
L'esame consiste in uno scritto seguito da una discussione orale del progetto obbligatorio di laboratorio.
Italiano
Il corso prevede lezioni teoriche, lezioni di esercitazioni, e la realizzazione di un progetto di programmazione ad oggetti che prevede l'uso di tutte le caratteristiche del linguaggio Java viste nel corso.
Testo ausiliario: B. Eckel. "Thinking in Java", ed. Italiana, Apogeo, 2006. La versione inglese e` liberamente disponibile on-line.
1. Programmazione ad oggetti:
- classi, oggetti, ereditarieta', polimorfismo
- organizzazione delle classi: classi astratte, interfacce,
classi interne (statiche, di istanza, anonime, innestate in interfacce)
- grafica e gestione degli eventi.
2. Programmazione concorrente: thread, scheduling, accesso sincronizzato
a dati condivisi, comunicazione tra thread.
3. Programmazione distribuita: stream e serializzazione, socket, RMI