Teaching

From first-year undergraduates to professionals in career change

I teach computer science to very different audiences, and I have always believed that the format has to follow the audience rather than the other way round: engineering students in initial training, adults in career change, managers in executive education, and students at the Institut Villebon — Georges Charpak, where the teaching model is deliberately experimental.

Across all of them I keep the same constraint: more than half of the time of a course unit is spent on projects and lab work, and assessment has to be aligned with what was actually practised.

Course websites

All my current courses have a public website, written in Quarto, with the full content, the exercises and their solutions, past exam papers and the slides.

Those sites are open source: the Edit this page link on every page opens the GitLab editor and lets students propose a correction as a merge request. Fixing a typo in a course is a perfectly good first contribution to a shared codebase.

Course units

Télécom Paris

Level Course unit Role
L3 Object-oriented programming in Java [INF103] Lectures and labs
L3 C language and operating systems [INF104] Lectures and labs
L3 From the logic gate to the operating system [ECE_3TC31] Lectures and labs
L3 Web programming in TypeScript [CSC_3TC35] Course leader
L3 Transversal projects [PACT] Technical expert and tutor
M1 Distributed systems development technologies [CSC_4SL03] Course leader
M1 Large-scale parallel computing [CSC_4SL07] Course leader
M1 Distributed Software Systems track seminars [SLR209] Tutor
M1 Master research and innovation projects [PRIM] Supervisor
MS Distributed systems for Big Data [DATA701 / INF727] — continuing education Course leader
MS Information systems infrastructure [MSIR 701 / 706] Lecturer
Exec Cloud systems, bespoke executive programme for Orange Course leader

I co-lead the Distributed Software Systems track (M1–M2) with Professor Petr Kuznetsov.

Elsewhere

Institut Villebon — Georges Charpak (since 2015): web programming in JavaScript/HTML/CSS, and C language and Linux. EFREI and EPITA-EPITECH: distributed systems for Big Data, and a Hadoop MapReduce from scratch project. Earlier in my career: École des Mines de Nantes, Institut Polytechnique de Bordeaux, and INSA Toulouse.

Teaching methods

At the Institut Villebon — Georges Charpak, students are often uncomfortable with conventional teaching, so — with the support of their Centre for Educational Experimentation — I experiment: flipped classroom, hybrid and self-paced formats, project-based and problem-based learning, discovery workshops and gamification. Assessment is experimental too: automated grading with continuous progress tracking, video explanations of one’s own code, mini-challenges, and interviews.

With adult audiences I work by competency, usually in project mode, with a lot of peer interaction and tutoring by the more experienced participants.

Training the trainers

I am as much a trainer of trainers as a teacher, and that is in fact how I keep my own pedagogical training going: designing a workshop with a learning designer remains the best self-training device I know.

  • France Université Numérique (2013–2016): created and ran the training workshops for the educational engineers of every institution launching MOOCs on the platform — about 120 correspondents in four cohorts.
  • Agence Universitaire de la Francophonie: rolled the workshops out across North Africa (Tunisia, Morocco), then made them autonomous through detailed handbooks.
  • UNESCO (2015): invited twice to present the feedback from that programme.
  • “Monter son MOOC de A à Z”: co-created the first French meta-MOOC on MOOC design, with Matthieu Cisel — more than 11,000 registrations over three runs.
  • MEDIANE, the IMT winter school in pedagogy: a regular workshop designer, always in a pair with a learning designer. The next one, in 2027, is about designing situations that combine learning and assessment.
  • Télécom Paris teaching forum: co-organiser every year.