These guides are written for people learning programming or mathematics — mostly students in my courses, but intended to be useful to anyone at a similar stage.

They're not exhaustive references. They're attempts to explain the things I find myself repeating most often, and to give learners a clearer sense of what they're actually doing and why.


How to Learn Programming — What programming actually involves, how to approach a coding problem you don't know how to solve, and what to do when you're stuck.

Learning Python — A starting point for ML-focused Python work, including how to set up an environment and what to expect from the tutorials on this site.

Learning Mathematics Through Programming — How I think about teaching these subjects together, and why programming tends to make mathematical ideas more concrete.

How to Learn Mathematics — Practical advice for students who find maths abstract or intimidating.

How to Learn Computer Science — Context for what computer science actually is and how to approach it systematically.

Built with LogoFlowershow