Après une introduction des concepts clés liées aux notions d'algorithme et de programme, nous étudions les éléments de base de la programmation impérative : la variable, l'affectation et les structures de contrôle (séquence, séletion, et itération). Nous prêtons attention au raisonnement formel sous-jacent à la programmation en particulier pour la construction des boucles (méthode de l'invariant) et la réalisation d'un calcul itératif. Nous étudions les sous-programmes en y incluant le passage des paramètres et insistons sur leur utilisation afin de structurer un programme. On étudie l'usage des tableaux et des structures de données et on introduit quelques notions clés de l'algorithmique. Le langage de programmation utilisé dans ce cours est Python, bien que les concepts étudiés et la méthodologie acquise soient indépendants d'un langage particulier.