In May 2026 I began a project to refamiliarise myself with some of the mathematics I haven’t touched since university. My intent is to get to grips with these subjects at the structural/conceptual level as much as the practical.

As such I’ve selected these courses to be interlocking, rigorous and free. You can assume that I strongly recommend any of the courses I’ve completed.

Lecture notes/problem sets are written by hand on a Remarkable2, then synced, compressed, and uploaded to Drive via cron job. From there they’re part of the regular content pipeline. Also, this has been a chance to get back to writing Python, so I’ve linked repos where relevant.

Intro to Algorithms 

  • Elementary data structures
  • Sorting, graphs and dynamic programming
  • Modelling computational problems
  • Algorithm performance and analysis

Statistics & Probability 

  • Fundamentals of probability
  • Random variables and distributions
  • Limit theorems
  • Markov chains

Linear Algebra 

  • Matrix operations and elimination
  • Vector spaces and fundamental subspaces
  • Orthogonality and matrix geometry
  • Eigenvalues and eigenvectors
  • Singular Value Decomposition

Learning from Data 

  • The theory of machine learning
  • Vapnik–Chervonenkis generalisation
  • Bias and variance
  • Regularisation and validation
  • Linear models and feature transforms

Open PDF