What you know
The course is a path; this is the ground it crosses. Each concept is one idea, shared by every lesson that touches it — so depth you earn in one shows up wherever it turns up again.
Finish a lesson and this fills in. Breadth first — the pillars come later.
Values & text
What data is, and how it turns into something a person can read.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Variables & typesunlocked | |||
| Type casting2 parts | |||
| Arithmetic & rounding | |||
| Strings2 parts | |||
| String formatting2 parts |
Control flow
Deciding what runs, and how often.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Conditionals2 parts | |||
| Loops2 parts | |||
| Comprehensions2 parts | |||
| Iterators & generators |
Collections
Holding many things at once, and picking the right container.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Lists & tuples | |||
| Sets | |||
| Dictionaries3 parts | |||
| Aliasing & copying | |||
| Built-in functions2 parts |
Functions
Packaging behaviour so it can be named, reused and composed.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Defining functions2 parts | |||
| Scope | |||
| Functions as values | |||
| Recursion4 parts |
Robustness
What happens when the input is wrong, missing, or hostile.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Exceptions2 parts | |||
| Guard clauses3 parts | |||
| Context managers | |||
| Type annotations |
Objects
Bundling state with the behaviour that belongs to it.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Classes & instances | |||
| Encapsulation | |||
| Inheritance | |||
| Polymorphism | |||
| Abstraction | |||
| Dunder methods |
Quantitative
Turning numbers into summaries, and summaries into models.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Summary statistics |
Data structures
How data is laid out — and what that layout makes cheap or expensive.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Big-O & complexity | |||
| Arrays | |||
| Hash tables | |||
| Linked lists | |||
| Stacks | |||
| Queues & deques | |||
| Binary trees | |||
| Binary search trees | |||
| Heaps & priority queues | |||
| Tries | |||
| Graphs | |||
| Union-find |
Algorithms
Strategies for solving a problem, and the trade-offs between them.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Two pointers & sliding window | |||
| Searching | |||
| Sorting | |||
| Graph traversal | |||
| Shortest paths | |||
| Greedy algorithms | |||
| Backtracking | |||
| Dynamic programming |
Number & algebra
Quantities, the rules that combine them, and the unknowns hiding inside.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Number systemsnot taught yetunlocked | |||
| Ratios & percentagesnot taught yetunlocked | |||
| Divisibility & primesnot taught yetunlocked | |||
| Powers & scientific notationnot taught yet | |||
| Units & ratesnot taught yet | |||
| Algebraic expressionsnot taught yet | |||
| Linear equationsnot taught yet | |||
| Inequalitiesnot taught yet | |||
| Systems of equationsnot taught yet | |||
| Quadratic equationsnot taught yet | |||
| Modular arithmeticnot taught yet | |||
| Groups & symmetrynot taught yet | |||
| Complex numbersnot taught yet |
Space & change
Shape and direction, functions, and how things change and accumulate.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Coordinate geometrynot taught yetunlocked | |||
| Triangles & Pythagorasnot taught yet | |||
| Area & volumenot taught yet | |||
| Geometric transformationsnot taught yet | |||
| Vectorsnot taught yet | |||
| Functions & graphsnot taught yet | |||
| Linear & exponential modelsnot taught yet | |||
| Logarithmsnot taught yet | |||
| Trigonometrynot taught yet | |||
| Periodic modelsnot taught yet | |||
| Limits & continuitynot taught yet | |||
| Derivativesnot taught yet | |||
| Optimizationnot taught yet | |||
| Integralsnot taught yet | |||
| Series & approximationnot taught yet | |||
| Matricesnot taught yet | |||
| Gaussian eliminationnot taught yet | |||
| Determinants & inversesnot taught yet | |||
| Eigenvalues & eigenvectorsnot taught yet | |||
| Differential equationsnot taught yet | |||
| Fractalsnot taught yet | |||
| Chaos & dynamical systemsnot taught yet | |||
| Fourier analysisnot taught yet | |||
| Numerical methodsnot taught yet |
Reasoning & chance
Logic and proof, counting and uncertainty — and the questions still open.
| know of it | can use it | can teach it | |
|---|---|---|---|
| Patterns & sequencesnot taught yetunlocked | |||
| Estimation & magnitudenot taught yetunlocked | |||
| Logic & truth tablesnot taught yetunlocked | |||
| Sets & Venn diagramsnot taught yet | |||
| Combinatoricsnot taught yet | |||
| Probabilitynot taught yet | |||
| Probability distributionsnot taught yet | |||
| Proof & inductionnot taught yet | |||
| Correlation & regressionnot taught yet | |||
| Graph theorynot taught yet | |||
| Bijections & cardinalitynot taught yet | |||
| Open problemsnot taught yet | |||
| Information & entropynot taught yet |
A row fills in as you go: finishing the lesson earns know of it, a practice exercise earns can use it, and a boss or capstone earns can teach it. Click any row to see what's next.
