Teaching

I'm a teaching-focused lecturer with six years of university teaching experience, across in-person undergraduate courses and a fully-remote MSc. I try to connect current research to genuine student engagement: building intuition before formalism, using simulation and code alongside theory, and giving students regular, low-stakes ways to check their own understanding.

Modules at Bristol, 2026–27

Teaching block 1:

  • UG1 SCIF10002: Introduction to Coding and Data Analysis for Scientists – the fundamentals of scientific programming in Python, from writing and debugging code to reading and analysing real datasets, as a foundation for later computing units. Materials for this year are on GitHub.
  • UG1 MATH10009: Mathematical Investigations – helps students make the transition from school to university mathematics: reading and writing formal mathematics, tackling unseen problems drawn from Further Mathematics topics, and working in teams on mini-projects.

Teaching block 2:

  • UG2 MATH20018: Perspectives in Data Science – a professional-skills unit for data science students, covering data ethics and communication and how academic data science translates into an enterprise setting, through group work and a business-style project.

Modules taught previously

At Imperial College London, in the Department of Mathematics:

  • 2020–24 Applicable Mathematics (MSc in Machine Learning and Data Science, fully remote). The programme's mathematical foundations module, reviewing calculus, linear algebra, probability and optimisation to the level needed for the machine learning modules that follow it.
  • 2020–24 Exploratory Data Analytics and Visualisation (MSc in Machine Learning and Data Science, fully remote). On assessing data quality and uncovering structure in messy, complex datasets, and on turning that analysis into visualisations and narratives suited to different audiences.
  • 2015–17 Stochastic Simulation (3rd & 4th year undergraduate). Simulation-based methods for statistics and applied probability: generating random variates, Monte Carlo integration and variance reduction, and Markov chain Monte Carlo methods such as the Metropolis–Hastings algorithm.
  • 2015–17 Mathematics for Business and Economics (3rd year undergraduate) – module lead. A thorough introduction to the mathematical fundamentals underlying both microeconomics and macroeconomics.

Book office hours

Office hours are on Thursdays, 11am–1pm.

The room changes week to week – please email me to check this week's location and arrange a time.