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) :

  1. 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.

  2. Produits cartésiens et listes :  révisions de ces constructeurs de type...

    Cours, exercices et travaux pratiques.

  3. 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.

  4. Aspects impératifs, données mutables :  ou que faire pour que les variables soient vraiment variables ?

    Cours, exercices et travaux pratiques.

  5. 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.

  6. 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.