Teaching
I am a lecturer at Oriel College and Pembroke College, University of Oxford, teaching across Engineering Science and Computer Science. The courses I am delivering in the 2026–27 academic year are listed below.
2026–27 · Oriel College, University of Oxford — Engineering Science
-
A2Information Engineering SystemsSecond-year Engineering Science paper covering signals, systems, communications, and information processing.
2026–27 · Pembroke College, University of Oxford — Computer Science
-
LALinear AlgebraFirst-year (Prelims) course, Michaelmas Term. Topics include systems of linear equations, vector spaces, linear maps and matrices, determinants, eigenvalues and diagonalisation, and matrix decompositions (LU, QR, SVD) — foundations used later in machine learning, graphics, and quantum computing.
-
FPFunctional ProgrammingFirst-year (Prelims) course, Michaelmas Term. Introduction to functional programming in Haskell, covering strong typing and pattern matching, recursive definitions and structural induction, higher-order list operations (map, filter, fold), lazy evaluation, and reasoning about program correctness.
-
DAADesign and Analysis of AlgorithmsFirst-year (Prelims) course, Hilary Term. Algorithm analysis with asymptotic notation; design strategies such as divide-and-conquer; fundamental data structures (arrays, lists, stacks, queues, trees, heaps, graphs); sorting and searching; graph algorithms (BFS, DFS); and introductions to dynamic programming and greedy methods.
-
ADSAlgorithms and Data StructuresSecond-year (Part A) course, Hilary Term. Highly efficient algorithms and data structures for fundamental computational problems: amortised analysis, disjoint sets, balanced search trees, network flow, linear programming, NP-hardness, approximation algorithms, and fixed-parameter tractability.
Previously Taught — Oriel College, University of Oxford
-
P1Mathematics
-
B2Engineering in Society