Cet enseignement est basé sur celui assuré à Nancy par J.-P. Jacquot. En particulier, les transparents de cours ont été repris tels quels. Le programme détaillé de cet enseignement est le suivant :
Introduction : qu'est-ce que l'informatique, comment fonctionne un ordinateur, quelle sont les notions de base d'un langage de programmation ?
Transparents du cours (HTML ou PDF, 705 kO), énoncé des travaux pratiques (PDF, 225 kO) et fichier fourni.
Fonctions : comment définir une fonction, et l'utiliser (application de la fonction) ? Particularité de Caml : application partielle d'une fonction.
Transparents du cours (HTML ou PDF, 462 kO), énoncé des travaux pratiques (PDF, 219 kO).
Récursivité : quand une fonction s'appelle elle-même...
Transparents du cours (HTML ou PDF, 459 kO), énoncé des travaux pratiques (PDF, 232 kO).
Produit cartésien : construction de types de données plus complexes, utilisation comme paramètres de fonction (« curryfication » : écriture d'une fonction sous sa forme de Curry ; « décurryfication » : transformation réciproque).
Transparents du cours (HTML ou PDF, 397 kO), énoncé des travaux pratiques portant encore sur la récursivité (PDF, 223 kO).
Listes : un autre constructeur de type, permettant beaucoup de choses (entre autres, le calcul des prédicats et la représentation de l'algèbre linéaire)...
Transparents du cours (HTML ou PDF, 566 kO), énoncé des travaux pratiques sur le produit cartésien (PDF, 226 kO).
Synthèse : portée d'une variable, complexité d'une fonction, etc.
Transparents du cours (HTML ou PDF, 580 kO), énoncé des travaux pratiques sur les listes (PDF, 215 kO).