Cours : Daniel Hirschkoff

TP : Etienne Moutot & Valentin Lorentz

Prérequis : Connaissances de base en algorithmique, et connaissance (même peu avancée) du langage OCaml, langage qui est imposé pour ce cours.

Objectif

L’objectif de ce module est multiple :

  • apprendre ou consolider des pratiques de programmation ayant trait à la structuration du code et à la modularité ;
  • apprendre des notions en lien avec l’exécution des programmes (interprétation, transformation de programmes) ;
  • mieux comprendre la programmation fonctionnelle en OCaml ;
  • travailler en binôme à un projet logiciel, en organisant le travail sur plusieurs semaines.

Organisation

Le module comprend une série de cours magistraux, accompagnée de séances sur machine. Les étudiants sont répartis en binômes, suivant leur expérience de la programmation et leur connaissance de Caml. 3 ou 4 rendus sont proposés au long du semestre, dont la difficulté est adaptée au niveau d’expérience du binôme. L’évaluation se fait à la fois sur la qualité du logiciel obtenu, et sur l’organisation du travail au long du semestre.

Une page www sera mise à disposition afin de rassembler des ressources utiles pour le cours.