- apprendre à analyser, spécifier et modéliser de manière rigoureuse une situation ou un problème
- comprendre un algorithme et expliquer ce qu’il fait
- modifier un algorithme existant pour obtenir un résultat différent
- concevoir un algorithme répondant à un problème précisément posé
- expliquer le fonctionnement d’un algorithme
- écrire des instructions conditionnelles avec alternatives, éventuellement imbriquées
- justifier qu’une itération (ou boucle) produit l’effet attendu au moyen d’un invariant
- démontrer qu’une boucle se termine effectivement
- choisir un type de données en fonction d’un problème à résoudre
- concevoir l’en-tête (ou la spécification) d’une fonction, puis la fonction elle-même
- traduire un algorithme dans un langage de programmation
- gérer efficacement un ensemble de fichiers correspondant à des versions successives d’un fichier source
- rechercher une information au sein d’une documentation en ligne, analyser des
exemples fournis dans cette documentation - documenter une fonction, un programme plus complexe