Understand AI, one clear picture at a time.
Free · open · no accounts
Data science and AI, from school maths to research level. Learn it the way you would on paper: a picture first, then every step of the working, then the code.
Drag the tip. The numbers are the arrow, and the arrow is the numbers. From M01.2 Coordinates and a first look at vectors.
Start here
Three questions point you to the right first lesson. No sign-up, and nothing to download: each lesson is a light web page that works on a phone.
Answer three questions
- New to maths, or rusty? Begin with M01.1 Numbers, algebra and notation.
- New to code? Begin with P01.1 How computers run programs.
- Ready for machine learning? Begin with ML01.1 What learning from data means.
- Heading for reinforcement learning? Try an available lesson, RL01.6 Bellman equations; the earlier RL modules are on their way.
Know exactly what to learn next, and why
Ten tracks in three stages, with two that run alongside. Pick a stage to see its courses, or pick a course to see what it needs first, where it leads, and why.
The map needs JavaScript. Every course, with what it builds on, is listed below and in the curriculum.
Explore courses by track
139 of 671 planned modules are live, each four lessons of about 25 minutes and one interactive. Open a track, then a course, to see its modules and lessons. The roadmap says what ships when.
Mathematics12 courses: 6 available, 6 planned
The maths under every later track. Track page
M01Math Foundations● all 9 modules available
Read the notation of machine learning, and work with functions, logarithms, sets, sums and proofs.
- M01.1 Numbers, algebra and notation
- M01.2 Coordinates and a first look at vectors
- M01.3 Functions and graphs
- M01.4 Exponentials and logarithms
- M01.5 Trigonometry and the unit circle
- M01.6 Sets, logic and proof techniques
- M01.7 Sums, products and sequences
- M01.8 Counting and combinatorics
- M01.9 Complex numbers
M02Linear Algebra I: Vectors and Matrices● all 10 modules available
See vectors and matrices as pictures, and use them to move, solve and project data.
- M02.1 Vectors as arrows and as data
- M02.2 Linear combinations, span and basis
- M02.3 Dot product, norms, angles and projections
- M02.4 Matrices as linear maps
- M02.5 Matrix multiplication as composition
- M02.6 Linear systems and elimination
- M02.7 Inverses, rank and the four subspaces
- M02.8 Determinants as volume scaling
- M02.9 Change of basis
- M02.10 Orthogonality, Gram-Schmidt and QR
M03Linear Algebra II: Decompositions● all 10 modules available
Take matrices apart with eigenvalues and the SVD, and use them for PCA and least squares.
- M03.1 Eigenvalues and eigenvectors
- M03.2 Diagonalization and matrix powers
- M03.3 Symmetric matrices and the spectral theorem
- M03.4 Positive definite matrices and quadratic forms
- M03.5 Singular value decomposition
- M03.6 Low-rank approximation and PCA
- M03.7 Least squares and the pseudoinverse
- M03.8 Matrix norms and conditioning
- M03.9 Markov matrices, graphs and PageRank
- M03.10 Tensors and index notation for deep learning
M04Calculus I: Single Variable● all 10 modules available
Understand rates of change and accumulation, and find the lowest point of a function.
- M04.1 Limits and continuity
- M04.2 The derivative as slope and rate
- M04.3 Differentiation rules and the chain rule
- M04.4 Optimization in one dimension
- M04.5 Integrals as accumulated area
- M04.6 The fundamental theorem of calculus
- M04.7 Integration techniques
- M04.8 Sequences, series and Taylor approximation
- M04.9 Differential equations, a first look
- M04.10 Partial derivatives, a first look
M05Multivariable and Matrix Calculus● all 10 modules available
Differentiate functions of many variables and of matrices, and see backpropagation as the chain rule.
- M05.1 Functions of several variables and level sets
- M05.2 Partial derivatives and the gradient
- M05.3 Directional derivatives and steepest ascent
- M05.4 Jacobians and the multivariable chain rule
- M05.5 Hessians, curvature and second-order Taylor
- M05.6 Multiple integrals and change of variables
- M05.7 Matrix calculus identities
- M05.8 Computational graphs and automatic differentiation
- M05.9 Backpropagation as reverse-mode differentiation
- M05.10 Vector fields, divergence and curl
M06Probability I● all 11 modules available
Reason about uncertainty with Bayes' rule, distributions and the central limit theorem.
- M06.1 Sample spaces, events and axioms
- M06.2 Counting and equally likely outcomes
- M06.3 Conditional probability and independence
- M06.4 Bayes' rule
- M06.5 Discrete random variables
- M06.6 Continuous random variables and densities
- M06.7 Expectation, variance and moments
- M06.8 Common distributions and their stories
- M06.9 Joint, marginal and conditional distributions
- M06.10 Covariance and correlation
- M06.11 Law of large numbers and central limit theorem
- M07Probability II: Stochastic Processes○ planned, Ring 3
- M08Optimization○ planned, Ring 3
- M09Information Theory○ planned, Ring 3
- M10Numerical Linear Algebra and Scientific Computing○ planned, Ring 4
- M11Measure, Functional Analysis and High-Dimensional Probability○ planned, Ring 4
- M12Differential Equations and Stochastic Calculus for ML○ planned, Ring 4
Programming and Data8 courses: 2 available, 6 planned
Python, SQL, data handling and engineering habits. Track page
P01Python from Zero● all 10 modules available
Write, test and debug your own Python programs, starting from no code at all.
- P01.1 How computers run programs
- P01.2 Values, variables and types
- P01.3 Control flow
- P01.4 Functions and scope
- P01.5 Modules, packages and environments
- P01.6 Lists, tuples, dictionaries and sets
- P01.7 Strings and files
- P01.8 Errors, debugging and first tests
- P01.9 Objects and classes
- P01.10 Iterators, generators and comprehensions
P02Scientific Python: NumPy, pandas and Plotting● all 9 modules available
Hold, clean, reshape, summarise and plot real data with NumPy, pandas and Matplotlib.
- P02.1 Arrays, shapes and data types
- P02.2 Broadcasting and vectorization
- P02.3 Indexing, slicing and views
- P02.4 DataFrames and Series
- P02.5 Cleaning, reshaping and joining
- P02.6 Group-by and aggregation
- P02.7 Dates, text and categories
- P02.8 Plotting with Matplotlib and seaborn
- P02.9 Reproducible notebooks
- P03SQL and Databases○ planned, Ring 3
- P04Data Visualization and Communication○ planned, Ring 3
- P05Algorithms and Data Structures for Data Science○ planned, Ring 3
- P06Software Engineering for Data Science○ planned, Ring 3
- P07Data Engineering○ planned, Ring 3
- P08High-Performance and GPU Computing○ planned, Ring 4
Statistics and Data Analysis8 courses: 2 available, 6 planned
Inference, regression, Bayesian methods, causality, time series. Track page
S01Exploratory Data Analysis● all 8 modules available
Explore a dataset, describe it, find relationships and spot patterns that mislead.
S02Statistical Inference● all 10 modules available
Estimate from samples, build confidence intervals and tests, and know what a p-value does and does not say.
- S02.1 Populations, samples and sampling distributions
- S02.2 Point estimation: bias, variance and mean squared error
- S02.3 Maximum likelihood
- S02.4 Confidence intervals
- S02.5 Hypothesis tests and p-values
- S02.6 Power, effect size and sample size
- S02.7 Common tests: t, chi-square, ANOVA and nonparametric
- S02.8 Bootstrap and permutation methods
- S02.9 Multiple testing
- S02.10 Likelihood theory: Fisher information and asymptotics
- S03Regression and Linear Models○ planned, Ring 3
- S04Bayesian Statistics○ planned, Ring 3
- S05Experiment Design and A/B Testing○ planned, Ring 3
- S06Causal Inference○ planned, Ring 3
- S07Time Series and Forecasting○ planned, Ring 3
- S08Advanced Statistics○ planned, Ring 4
Machine Learning7 courses: 3 available, 4 planned
Classical ML from the first model to learning theory. Track page
ML01Machine Learning Foundations● all 10 modules available
Build, train and honestly evaluate your first machine-learning models from scratch.
- ML01.1 What learning from data means
- ML01.2 Data splits and the generalization gap
- ML01.3 k-nearest neighbors
- ML01.4 Linear regression as a learning algorithm
- ML01.5 Gradient descent from scratch
- ML01.6 Logistic regression and classification
- ML01.7 Evaluation metrics
- ML01.8 Overfitting, bias and variance
- ML01.9 Regularization and validation
- ML01.10 A full project from raw data to report
ML02Supervised Learning: Trees, Ensembles and Kernels● all 11 modules available
Build and tune trees, forests, boosting, SVMs and kernels, and choose a model for tabular data.
- ML02.1 Decision trees
- ML02.2 Bagging and random forests
- ML02.3 AdaBoost
- ML02.4 Gradient boosting
- ML02.5 XGBoost, LightGBM and CatBoost
- ML02.6 Naive Bayes and generative classifiers
- ML02.7 Maximum margin and support vector machines
- ML02.8 The kernel trick
- ML02.9 Discriminant analysis
- ML02.10 Multi-class, multi-label and ordinal problems
- ML02.11 Choosing a model for tabular data
ML03Unsupervised Learning● all 10 modules available
Find structure without labels: clusters, mixtures, embeddings, topics and anomalies.
- ML03.1 k-means and how it fails
- ML03.2 Hierarchical clustering
- ML03.3 Density-based clustering
- ML03.4 Gaussian mixtures and the EM algorithm
- ML03.5 PCA in depth
- ML03.6 Manifold learning: t-SNE and UMAP
- ML03.7 Matrix factorization and topic models
- ML03.8 Density estimation
- ML03.9 Anomaly detection
- ML03.10 Evaluating clusters and embeddings
- ML04Model Development and Evaluation in Practice○ planned, Ring 3
- ML05Probabilistic Machine Learning○ planned, Ring 3
- ML06Statistical Learning Theory○ planned, Ring 4
- ML07Learning in Special Settings○ planned, Ring 3
Deep Learning10 courses: 1 available, 9 planned
Neural networks through generative models and theory. Track page
DL01Neural Network Foundations● all 10 modules available
Build neural networks from single neurons up, by hand and in NumPy, then train them in PyTorch.
- DL01.1 From linear models to neurons
- DL01.2 Multilayer perceptrons and universal approximation
- DL01.3 Activation functions
- DL01.4 Loss functions and maximum likelihood
- DL01.5 Backpropagation by hand
- DL01.6 Build an autodiff engine from scratch
- DL01.7 PyTorch fundamentals
- DL01.8 Anatomy of a training loop
- DL01.9 Datasets, loaders and batching
- DL01.10 First project: an image classifier
- DL02Training Deep Networks○ planned, Ring 2
- DL03Convolutional Networks○ planned, Ring 2
- DL04Sequence Models○ planned, Ring 2
- DL05Transformers○ planned, Ring 2
- DL06Generative Models I○ planned, Ring 3
- DL07Generative Models II: Diffusion and Flow Matching○ planned, Ring 4
- DL08Representation and Self-Supervised Learning○ planned, Ring 3
- DL09Graph and Geometric Deep Learning○ planned, Ring 4
- DL10Deep Learning Theory and Frontiers○ planned, Ring 4
Reinforcement Learning7 courses: 1 partly available, 6 planned
Bandits through RL for language models. Track page
RL01RL Foundations◐ 1 of 9 modules available
Model decisions as an agent acting in a world, and solve them with Bellman equations.
- RL01.1 The agent and environment loop (planned)
- RL01.2 Multi-armed bandits (planned)
- RL01.3 Exploration: epsilon-greedy, UCB and Thompson sampling (planned)
- RL01.4 Markov decision processes (planned)
- RL01.5 Returns, discounting and value functions (planned)
- RL01.6 Bellman equations
- RL01.7 Policy evaluation (planned)
- RL01.8 Policy iteration and value iteration (planned)
- RL01.9 Contextual bandits (planned)
- RL02Tabular Model-Free RL○ planned, Ring 2
- RL03Deep Value-Based RL○ planned, Ring 3
- RL04Policy Gradient and Actor-Critic○ planned, Ring 3
- RL05Model-Based RL and Planning○ planned, Ring 4
- RL06Advanced RL○ planned, Ring 4
- RL07RL for Language Models and Real Systems○ planned, Ring 4
Applied AI9 courses: 9 planned
NLP, LLMs, agents, vision, speech, recommenders and classical AI. Track page
- A01Natural Language Processing Foundations○ planned, Ring 3
- A02Large Language Models○ planned, Ring 3
- A03LLM Applications: Retrieval, Tools and Agents○ planned, Ring 3
- A04Computer Vision○ planned, Ring 3
- A05Speech and Audio○ planned, Ring 3
- A06Recommender Systems and Search○ planned, Ring 3
- A07Multimodal Models, World Models and Embodied AI○ planned, Ring 4
- A08Domain Casebooks○ planned, Ring 3
- A09Classical AI: Search, Logic and Planning○ planned, Ring 3
ML Engineering5 courses: 5 planned
Designing, deploying, monitoring and scaling ML systems. Track page
Responsible AI4 courses: 4 planned
Fairness, interpretability, privacy, safety. Track page
Capstones and Research Practice3 courses: 3 planned
Projects, paper reproduction, research writing. Track page
What every page of the notebook has
A question first
Something worth working out before any definition.
The picture
At least five figures in every new lesson, each drawn to carry one idea.
Every line of working
No step is left for the reader to fill in.
Small real numbers
A worked example you can check with a pencil.
The code
From scratch first, then the library that does it for you.
Check yourself
Recall questions and graded exercises with full solutions.
Full proofs and research notes sit in blocks you can open when you want them. The details are in the style guide.
Help it grow
Every lesson is free, for good, and marked in review until independent readers have checked it.
- Learn from it and tell us where a step lost you.
- Review a lesson. A second pair of eyes on the maths is the most valuable gift there is.
- Share it with one person who is trying to learn this.
- Follow along in the news, or read why this exists.