home Anil Madhavapeddy, Professor of Planetary Computing  

Foundations of Computer Science / Jan 2025

Here are the various repos used to create the interactive teaching environment we use for 1A Foundations of Computer Science in Cambridge. It may be useful to other professors who are using OCaml in their courses.

  • https://github.com/avsm/teaching-fcs is a private repo, but ping me if are teaching and I'll give you access (it has coursework answers in it). We use a Jupyter notebook, with the course written in Markdown using the mdx OCaml parser which evaluates toplevel phrases through the compiler and promotes the output directly into the markdown.
  • We then convert the Markdown into Jupyter format using a fork of mdx, and then nbconvert it into LaTeX for the printed notes.
  • A JupyterLab installation with a custom OCaml kernel suffices for the live setup. Every student gets their own container on the server and one server is sufficient for a full class of ~125 students.

Ping me if you want to know more, and other people who have worked on this with me are Jeremy Yallop, David Allsopp and Jon Ludlam, with Jon being the currently active additional lecturer on the course as of 2024/2025.

# 3rd Jan 2025   iconnotes cambridge compsci computerlab ocaml pembroke teaching

Related News