Cet enseignement a été assuré pendant deux ans, au cours des années universitaires 1999-2000 et 2000-2001. En voici un rapide programme (découpé en six périodes de deux semaines) :
Rappels : définition de l'informatique, fonctionnement d'un ordinateur, notions de base de Caml (expressions conditionnelles, fonctions, etc.)...
Cours (vraiment pas magistral), exercices et premiers travaux pratiques.
Produits cartésiens et listes : révisions de ces constructeurs de type...
Cours, exercices et travaux pratiques.
Récursivité, récursivité terminale : pourquoi faut-il éviter les fonctions récursives ? Comment définir des fonctions plus efficaces ?
Cours, exercices et travaux pratiques.
Aspects impératifs, données mutables : ou que faire pour que les variables soient vraiment variables ?
Cours, exercices et travaux pratiques.
Programmation itérative : comment programmer avec Caml comme dans un langage itératif (comme par exemple le pascal ou le C), c'est-à-dire avec des boucles for et while ?
Cours, exercices et travaux pratiques.
Type somme : un nouveau constructeur de type, permettant entre autres de définir une nouvelle structure de données, l'arbre.
Cours, exercices et travaux pratiques.