Teaching
At Imperial:
- During January and February 2012 I am teaching Object Oriented Programming, part of the Programming II course.
SICSA International Summer School on Advances in Programming
Languages, Heriot-Watt University, Edinburgh, August 2009:
- Gave lecture entitled Multicore Compilation: an Industrial
Approach, and designed practical session based on Codeplay's Offload C++.
At Oxford:
- Software Verification (Hilary Term 2011).
Gave two lectures on Predicate Abstraction and Counterexample
Guided Abstraction Refinements.
- Software Verification (Hilary Term 2010).
Designed and oversaw practicals on Bounded Model Checking and Counter Example
Guided Abstraction Refinement.
- Compilers (Hilary Term 2010). Gave guest
lectures on Type Checking and Runtime Environments.
Also took classes and helped with practicals.
- Object-Oriented Programming (Michaelmas Term
2009). Gave guest lectures on Object Identity and Memory
Management. Took students from Merton College and
Corpus-Christi College for tutorial sessions.
Guest lectures while at Codeplay Software Ltd:
- Advances in Programming Languages course at
University of Edinburgh (2008 and 2009). Gave guest lectures: The Cell Processor: a Compiler
Challenge (2008) and Method Duplication: Automating Code
Migration to Multicore (2009).
- Compilers course at University of Glasgow (2008
and 2009). Gave same guest lectures as for the Edinburgh course above.
At Glasgow:
- Data Structures and Algorithms (Autumn 2006). Gave
guest lectures on Abstract Data Types and Binary Trees.
- CS1P Introductory Programming (2002-2006).
Tutored groups of 1st year undergraduates.
- CS1Q Introduction to HCI, Databases and Systems
(2002-2006), Tutored groups of 1st year undergraduates.