Teaching is one of the most enjoyable parts of my job, and I am committed to teaching to the highest standard possible; my teaching statement outlines my teaching philosophy in more detail. Below are some materials related to courses I have taught and developed. Typos and corrections in any course materials are always welcome!
Durham University
Computational Mathematics II (MATH2731) — Winter 2025
A hands-on introduction to numerical analysis and scientific computing, covering algorithms for root-finding, interpolation, numerical integration, and the numerical solution of ordinary and partial differential equations.
- Course notes (HTML)
This course is assessed by weekly computational lab reports and e-assessments (50%), and a computational project grounded in one of the research areas of the department (50%).

Advanced Mathematical Biology IV (MATH4411) — Winter 2023, 2024, 2025
An advanced course in the mathematical modelling of biological systems. Michaelmas term covers stochastic models, including simulating and analysing discrete-state Markov processes, reaction-diffusion processes, and stochastic differential equations.
- Michaelmas term notes 2025 (HTML)
- Michaelmas term notes 2024 (PDF)
- Course GitHub page (code)
Epiphany term covers continuum-mechanical models of biological media, including non-Newtonian fluids, solids, and viscoelastic media.

Brandeis University
Differential Equations — Summer 2020
An introduction to ordinary differential equations from a dynamical systems perspective, covering qualitative methods, phase plane analysis, and applications.
Text: Blanchard, P., Devaney, R. L., & Hall, G. R. (2012). Differential Equations (4th ed.). Brooks/Cole.
Probability — Fall 2019
- Course notes (PDF)
Multivariable Calculus — Spring 2019
- Course notes (PDF)
Dublin City University
Simulation for Finance (MS455) — 2017
- Course notes (PDF)