Après la découverte de la programmation objet en tronc commun, ce cours vise à poursuivre l'apprentissage de la programmation objet en étudiant : les interfaces homme-machine, ou comment offrir à l'utilisateur une belle interface ergonome ; la concurrence, ou comment utiliser plusieurs cœurs d'un microprocesseur pour faire un calcul en parallèle ; la programmation repartie, ou comment faire travailler ensemble des ordinateurs distants sur un réseau. C'est l'un des principes du fonctionnement du cloud computing ; la programmation mobile, ou comment programmer sous Android.