Le but de ce cours est d'apprendre à manipuler des algorithmes (les comprendre, les modifier, et en concevoir). En particulier cet enseignement présente l’approche algorithmique de la résolution de problèmes simples et vise à sensibiliser les étudiants à la notion d’efficacité d’un algorithme et à les familiariser avec les différentes structures de données classiques. Ce cours demande aussi une partie de travail à la maison consacrée à l'implémentation de certains algorithmes en java.