For this course I was assisted by Grégory Lafitte the first year, and then by Jean Duprat for three years. Some of the first year courses were recorded by Marc Daumas, but not all of them are available.
In this course, I show how algorithms and proofs can be described in the calculus of inductive constructions as it is implemented in the Coq system. The lectures are organized as follows.
The course is supported with a collection of on-machine exercises, which we only distribute for each session, and a collection of homework assignments. The topics of these exercises cover varied aspects of mathematics and algorithms: proving that the square root of 2 is non rational, verifying the correctness of parsing and sorting algorithms, verifying algorithms in arithmetics, compilation, proving that some typed calculus is strongly normalizing, etc...