Teaching

Undergraduate and Master's Projects

All of these projects are suitable for either an undergraduate or a master's student.

Project pitch is a talk I gave to the 2021 SSE MSc cohort pitching 6 projects, 3 with industrial partners. Check out this extended list of project ideas.

I am also open to project proposals. Take a look at my project descriptions to get a feel for the sort of projects I like. If you have a project in mind that you'd like to work on with me, please let me know.

University College London

My UCL Teaching Page, not often updated.

Modules

Malware (COMP0060), 2015–2021
Compilers (COMP0012), 2013–2021
Validation and Verification (COMP0103), 2013–2021
Research Seminar in Software Engineering, 2013–2017

Talks

First Year Welcome 2018
Talk on Version Control (concentrates on git)
Study Abroad Talk

University of California Davis, 2003–2006

Machine Dependent Programming (ECS 50)
Introduction to the Theory of Computation (ECS 120)
Software Engineering (ECS 160)
Ethics and the Information Age (ECS 188)
Introduction to Programming and Problem Solving (ECS 30)
Discrete Mathematics for Computer Science (ECS 20)
Data Structures and Programming (ECS 60)

Last Updated: