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
  • A2
    Information Engineering Systems
    Second-year Engineering Science paper covering signals, systems, communications, and information processing.
2026–27 · Pembroke College, University of Oxford — Computer Science
  • LA
    Linear Algebra
    First-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.
  • FP
    Functional Programming
    First-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.
  • DAA
    Design and Analysis of Algorithms
    First-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.
  • ADS
    Algorithms and Data Structures
    Second-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
  • P1
    Mathematics
  • B2
    Engineering in Society