Teaching

My open source educational resources

Current teaching

  • (Kent) COMP5002 - Functional Programming (convener, Year 2) - 2016-present
  • (Kent) COMP4016 - Computer Systems (convener, Year 1) - 2026-present

Previous

  • CO661 - Theory and Practice of Concurrency (Year 3) - 2018-2022
  • CO583 - Introduction to programming via the web (Year in Computing) - 2016-2021
  • CO580 - Year in Computing projects (convener, Year in Computing) - 2017-2020
  • CO519 - Theory of Computing (Year 2) - 2017-2021
  • CO323 - Databases and the web (Year 1) - 2017
  • Type Systems for Programming (Year 2, Cambridge) - 2014
  • Research topics: Mathematically structured programming (Year 3, Cambridge) - 2014
  • Small-group teaching: Hoare Logic & Model Checking (2016), Optimising Compilers (2008-09, 2013-14), Semantics of Programming Languages (2009-14), Logic and Proof (2013-14), Concepts in Programming Languages (2010-11), Comparative Architectures (2009)