Things I teach:
Undergraduate:
- COMP0003 - Theory of Computation (Term 2): Co-taught with James Brotherston since Spring 2018 and with Quang Loc Le since Spring 2025. This class is an intro theory class for 1st year BSc students consisting of two parts: Logic and Automata. I teach the latter. Topics include: regular expressions, DFAs and NFAs, context-free grammars, pushdown automata, and Turing machines.
- COMP0014 - Intelligent Systems (Term 2): Since Spring 2020. This is the first, introductory module in the Intelligent Systems IEP minor. The module is a fairly theoretical overview of the field of artificial intelligence, with some practical lab sessions intended to (1) give non-CS students on the minor practice programming, (2) provide practical applications of concepts from lecture, and (3) introduce mathematical content needed for the next module in the minor (Machine Learning). I am in charge of designing and running these lab practical sessions.
- COMP0015 - Introduction to Programming (Term 1 & Term 2): Since Fall 2025. This is an introductory programming class for non-Computer Science majors. I support the teaching of this module mainly through admin.
ENGF0034 - Scenarios (Term 2): Since Spring 2019. This is part of a larger module called Design and Professional Skills, which was previously given the module code ENGF0002. The Scenarios are an opportunity for 1st year students to apply their learning from the past year to two group projects.
For this module, I have also created materials for teaching ethics related to Computer Science. I've done a lot of research on this, so if you would like to discuss how to add ethics to CS modules or ways to teach CS and engineering students ethics, let's talk!
Masters:
- COMP0178 - Database Fundamentals (Term 1): Since Fall 2019. Was previously COMP0022 - Database and Information Systems. This is a core module for the MSc Computer Science programme, and a core or optional module on several other technology-related masters programmes. It is an overview of the essential concepts related to computer databases. No programming background is assumed for this module.
- COMP0247 - MSc Robotics and Artificial Intelligence Project (summer project): Since Fall 2020, I have organized summer projects, originally for MSc Robotics and Computation, which was discontinued and replaced with the MSc Robotics and AI programme. MScRAI students are matched with academic and industry supervisors to work on robotics-related projects over the summer.