Foundations of Computer Science / Jan 2025 / DOI
Here are the various repos used to create the interactive
- 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