Programma provvisorio del corso per l'anno accademico 2012-13. Oggetti e loro caratteristiche. L'interfaccia di una classe. Invarianti e altri elementi di logica. Creazione di oggetti. Assegnazione, riferimento e struttura degli oggetti. Strutture di controllo. Astrazione. Modello dinamico. Ereditarietà e genericità. Ricorsione. Strutture di dati. Ereditarietà multipla. Programmazione guidata dagli eventi ed agenti. Introduzione all'ingegneria del software. Sviluppo di un progetto didattico