Programma dei Moduli del Corso:

Modulo 1 (annuale) | Docente:
Flavio Distefano

Nozione di programmazione ad oggetti. Il linguaggio Java. Tipi di dati, variabili, operatori, stringhe. Array. Controllo del flusso. Classi e oggetti. Variabili di classe e di istanza. Qualificatori di metodi e classi e protezioni. Packages. Ereditarietà. Cast. Classi astratte. Riflessione. Interfacce. L’interfaccia Cloneable. Classi annidate. Programmazione dell’interfaccia grafica AWT. Gestione degli eventi. Ascoltatori di eventi. Multicasting. La coda degli eventi. Inserzione nella coda di eventi personalizzati. L’interfaccia grafica Swing ed i suoi componenti. Lo schema modello-vista-controller. Gestione del layout. La classe Applet e l’interfaccia Runnable. Threads e loro gestione: rischi di stallo. Comunicazione fra applets. Applets e applicazioni. Gestione degli errori: eccezioni. Flusso dei dati: i vari tipi di streams. Gestione dei files.




Modulo 2 (annuale) | Docente:
Flavio Distefano

Approfondimenti del linguaggio di programmazione Java, come di seguito elencato. Threads multipli simultanei. Threads bloccati e morti. Threads indipendenti. Gruppi di threads. Sincronizzazione e cautele sulla interruzione di threads: oggetti bloccati, i metodi wait e notify, rischi nell’uso dei metodi stop e suspend. Animazioni. Timers. Programmazione grafica avanzata in Swing: la classe Graphics2D, gestione e manipolazione delle immagini, trasformazioni di immagini e filtri, le interfaccie Shape, Paint, Stroke, Clip, il compositing, trattamento e rendering del testo.