Scopo del corso è di introdurre al disegno ed allo sviluppo di programmi complessi in ambiente object-oriented. In particolare si pone enfasi sulla scomposizione di un problema in sotto-problemi cui corrisponderanno parti e moduli del programma, sulla progettazione di un programma, sulla strutturazione del codice mediante l'uso di classi sia sviluppate dal programmatore che disponibili nelle librerie.