Home » Teaching


In the 2016/17 academic session I am teaching the following modules at St Andrews:

  • CS2001:¬†Foundations of computation, with Jon Lewis. I teach the parts on algorithm design and analysis
  • CS2003: The internet and the web, the internet, with Alex Voss. I teach the parts on protocols and services

Over the years I have also taught software engineering, context-aware systems, principles of programming languages, type theory, semantics, communications and internet technologies, as well as several invited tutorials.