Il corso di Programmazione II mira a fornire agli studenti competenze e abilità avanzate nella programmazione a partire dalle conoscenze di base acquisite durante il corso di Programmazione I. In particolare, si cureranno da un lato le abilità di analisi e sviluppo di algoritmi avanzati, dall'altro le capacità di sviluppo e testing di applicazioni reali basate sul linguaggio C++. Nel corso si adotta l'approccio "imparare facendo": quasi ogni nuova nozione o dettaglio sono subito messi in pratica al calcolatore mediante esercizi di complessità crescente.