Il corso si articola in due moduli:
Programmazione ad Oggetti: illustra i fondamenti della programmazione ad oggetti e le principali caratteristiche del linguaggio Java (Il linguaggio Java, Classi astratte, interfacce, visibilità e package, Introduzione a UML, Classi java fondamentali: input/output, eccezioni, Java Collection Framework, Alcune librerie standard: Applet, GUI, JDBC)
Ingegneria del Software: illustra i principi, le tecniche, e le pratiche di un processo di sviluppo di software (Il processo di sviluppo del software, Il ciclo di vita del software, Qualità del software, Versionamento e configurazioni, Analisi e specifica dei requisiti, Progettazione: Design Pattern, Verifica e Validazione del software: test, ispezioni).