Lecturing
I am currently teaching:- CO583 - Introduction to Programming and Web Technologies
- CO545 - Functional and Concurrent Programming
Projects
Please get in touch if you are interested in me supervising your project.
Previous undegraduate and Masters' projects supervised:
- Verifying concurrent musical programming for Sonic Pi (2014-15) (Imperial, 4th year)
- The Formatting Problem for code (2013-14) (Part III)
- Dimensions types in Fortran (2013-14) (Part III)
- Distributed Programming with Rebindable Resources (2013-14)
- Implementing the Codo Syntax for Comonads in GHC (2012-13)
- GPU accelerating the Ypnos programming language (2012-13)
- VisualLucid IDE - A visual approach to dataflow programming (2011-12)
- Accessing Standard ML Constructs From Java Across Language Domains (2011-12)
- Parallelisation of Java for Graphics Processors - Peter Calvert (2009-10)
- Reconsidering Lucid - a modern approach - Jonas Kaiser (2009-10)
Past
Previous lecturing:- Visting lecturer, Autumn 2014, Type systems in programming, [Final year course], Computer Laboratory, University of Cambridge [organised and taught entire course]
- Research student lectures - Mathematically Structuring Programming Languages (part of "Current Research Topics" at the Cambridge Computer Laboratory) May 2010 and November 2010 (part of the CPRG lecture series ).
- 2014-15 (Imperial) I tutored on the "Academic writing" course (CO520) for graduate students.
- 2008-16:
Previously at the University of Cambridge, I supervised the following courses:
- Hoare Logic and Model Checking (2015-16)
- Logic and Proof (2013-14)
- Semantics (Michaelmas and Lent Term, 2009-2014)
- Concepts in Programming Languages (Easter term, 2010-2011)
- Optimising Compilers (Michaelmas term, 2008-2009, 2013-14)
- Extra explanatory notes for the constraint based analysis.
- I also contributed to the current supervision material.
- Comparative Architectures (Lent Term, 2009)