In the 2012/13 academic session I am teaching the following modules at St Andrews:
- ID1003: “Great ideas”, lecture on the history and social impact of the internet
- CS1005: Computer science in everyday life, 2 lectures on sensing the real world
- CS2001: Foundations of computation, the theory parts, with Edwin Brady
- CS3301: Component Technology
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.



