Teaching
I currently do not teach any courses, but I do supervise Honours (UG4/MInf) and MSc projects.
I’m developing a lecture course on type-driven probabilistic modelling. Having offered it at advanced and introductory, and at undergraduate level, I hope to soon offer regularly. If you are an undergraduate, especially in Edinburgh, and would have liked to see it on offer, please get in touch.
I strive to use my teaching roles to tie cutting-edge research to the broader computer science subject, and to make this material accessible and interesting for students.
Past Courses
While in Cambridge, I was involved with teaching the following courses:
Undergraduate
Part IA/UG1, Discrete mathematics. Co-developed with Prof. Marcelo Fiore the course materials (slides (2013-14), workouts, exercise sheets, and their example solutions), and I supervise this course.
Year 2, Inf2C: Computer Systems and Software Engineering TA.
Part II, Denotational semantics. I developed an exercise sheet used for supervision work by myself and some of the Lab’s supervisors.
Part III/MPhil/MSc
- Advanced Topics in Denotational Semantics. Prof. Marcelo Fiore and myself will be offering this new course aimed to bring students up to date with active research in denotational semantics.
I also supervised (Cambridge terminology) and tutored (Oxford and Edinburgh terminology) undergraduate courses across the Computer Science curriculum: Cambridge:
- Part IB/UG3, Semantics and the corresponding Language semantics and implementation.
- Part II, Types.
- Oxford Computer Science and Joint Schools
- Prelims (UG1):
- Functional Programming
- Design & Analysis of Algorithms
- Imperative Programming Parts 1, 2 and 3
- Discrete Mathematics
- Linear Algebra
- Part A (UG2):
- Compilers
- Algorithms and Data Structures
- Models of Computation
- Prelims (UG1):
Other
In 2014, I organised a reading group on recursive domain equations (following these notes) with: * Alex Chadwic * Adam Ścibior
Surprisingly, while reading we found something new about ω-colimits of embedding-projection pairs, which was presented at the 11th international workshop on domain theory and applications.
Adam and I have had a fruitful collaboration later about the semantics and implementation of probabilistic programming languages.