Introduce i principi, le metodologie e gli strumenti per lo sviluppo professionale del software. Tratta cicli di vita, raccolta dei requisiti, modellazione UML, pattern di progettazione, testing, gestione di versione e metodologie agili. Fornisce competenze per pianificare, progettare e realizzare sistemi software di qualità in contesti di team e progetti complessi.