Evoluzione verso il paradigma Object-Oriented (OOP). Il corso approfondisce i concetti di incapsulamento, ereditarietà, polimorfismo, astrazione e interfacce, utilizzando Java come linguaggio di riferimento. Vengono inoltre trattati temi quali la gestione delle eccezioni, il Collection Framework, la programmazione multithread (concorrenza) e la creazione di interfacce grafiche (GUI).