Python Programming
From first principles to idiomatic Python: data types, control flow, functions, OOP, and working with files and libraries.
BeginnerTeaching & learning
Programming, data, statistics, and machine learning — with a path from first principles to practical understanding.
From first principles to idiomatic Python: data types, control flow, functions, OOP, and working with files and libraries.
BeginnerPractical analysis with pandas and visualisation — cleaning, exploring, and communicating insight from real datasets.
Beginner → IntermediateCore supervised and unsupervised methods, model evaluation, and the intuition behind the algorithms.
IntermediateStatistical reasoning for data science: distributions, inference, hypothesis testing, and regression.
IntermediateThe approach
Start with a clear mental model. Give the formalism something to attach to.
Work with code and data you can run, change, and question.
Make assumptions, trade-offs, and the messy middle visible.