The Prerequisite Map
A dependency graph of every module, so you always know what a lesson assumes before you open it.
The Prerequisite Map
Intuition first
The curriculum is a directed graph, not a list. Some modules genuinely must come before others — backpropagation needs the multivariable chain rule, RAG needs embeddings, GraphRAG needs knowledge graphs. Others are independent and can be taken in any order.
Knowing the shape of that graph is worth more than any recommended sequence, because it tells you the minimum you need for whatever you actually want to learn. Most people do not want to study the whole curriculum; they want one topic, and need to know what it costs.
The graph is also enforced rather than advisory. A build-time check fails if any lesson lists a prerequisite that appears later in the ordering. When that check was first run it caught four real mistakes, which is a fair indication of how easy this is to get wrong by hand.
The stage-level picture
What each module actually requires
| Module | Hard prerequisites |
|---|---|
| Linear Algebra | None |
| Calculus & Optimisation | None |
| Probability | Counting (within the module) |
| Statistics | Probability through the CLT |
| Programming & DSA | None |
| Databases & Warehousing | None |
| Visualisation & EDA | Descriptive statistics |
| Optimisation Algorithms | Linear algebra, calculus, some probability |
| Game Theory | Probability (expectation), LP duality |
| Logic | None |
| Classical AI | Logic, probability, graph traversal |
| ML Foundations | Probability, statistics, linear algebra |
| Supervised Learning | ML foundations, least squares, MLE |
| Unsupervised Learning | Eigenvalues, multivariate normal |
| Deep Learning | Multivariable chain rule, ML foundations |
| Reinforcement Learning | Markov chains, deep learning (from DQN onward) |
| NLP | Deep learning, probability |
| LLMs | NLP transformer lessons |
| Fine-tuning | LLMs, SVD (for LoRA) |
| RAG | LLMs, TF-IDF, graph ML (for GraphRAG) |
| Graph ML | Laplacian, word2vec, attention |
| Time Series | Statistics, regression, LSTM (for the deep lessons) |
| MLOps & Responsible AI | ML foundations, metrics |
Three worked routes
"I want to build a RAG system."
You can skip most of classical ML, all of reinforcement learning, and the logic module. You cannot skip cosine similarity, the transformer, or the evaluation lessons — retrieval quality is measured with recall@k, MRR and NDCG, and getting those wrong is the usual reason a RAG system seems fine and is not.
"I want to understand transformers properly."
Roughly ten lessons. Attempting the transformer lesson without backpropagation is the single most common way people end up with a vague picture that collapses under questioning.
"I want to pass a graduate entrance exam."
Everything in the mathematics and computing stages, plus logic, classical AI, and the full machine learning progression. That is the Researcher track, and the Practice Vault is built for it.
Cycles that are not cycles
Some pairs look mutually dependent and are not, because the dependency is between lessons rather than modules:
- Graph ML needs NLP (node2vec builds on word2vec, GAT on attention) and RAG needs Graph ML (GraphRAG needs knowledge graphs). So the order is NLP → LLMs → Graph ML → RAG, and there is no cycle.
- RL needs deep learning for DQN onward, but the tabular half needs only Markov chains. The module sits after deep learning so the whole thing reads in order.
- Optimisation needs probability for stochastic and Bayesian optimisation, but LP and simplex need only linear algebra.
Exercise 1
You want to understand why LoRA works. Trace the prerequisite chain and identify the one piece of mathematics that is genuinely essential.
Show solutionHide solution
The chain runs roughly:
and separately, the mathematical branch:
The essential piece is the SVD, specifically the idea of low-rank approximation and the Eckart–Young theorem. LoRA's claim is that the weight update during fine-tuning has low intrinsic rank, so it can be written as with and for small , reducing trainable parameters from to .
Without the SVD, "low-rank adaptation" is a phrase you can repeat but not reason about — you would have no basis for choosing , no understanding of why merging the adapter at inference costs nothing, and no way to see why the method degrades when the true update is high-rank.
Everything else in the chain is context. The SVD is load-bearing.