Arcs
Lessons written as a series, to take in order. Follow one and each lesson's Next button walks the arc, across units and topics.
Relational Design
Data · 5 lessons · 3 plannedFrom functional dependencies through the normal forms: why a table splits, and where it stops.
Procedural Generation
Games · 13 lessons · in progressNoise, automata, and grammars that grow terrain, caves, dungeons, and plants from a seed.
The Graphics Pipeline
Graphics · 6 lessons · in progressCoordinates, cameras, and shaders down to the pixels a triangle covers, and the shadows it casts.
3D from Images
Graphics · 11 lessons · in progressMatched photos to camera poses, point clouds, surfaces, radiance fields, and splats.
Learning Machines
Math · ML · 8 lessons · in progressGradient descent to the perceptron, backpropagation, attention, transformers, and diffusion.
Agents & Tools
ML · Computers · 4 lessons · in progressHow a language model calls tools, loops on their results, and speaks a protocol to reach them.
Graph Search to Navigation
Algorithms · Games · 6 lessons · 1 planned · in progressBreadth-first search to Dijkstra and A*, then the nav meshes and funnels games walk on.
Graph Algorithms
Algorithms · 5 lessonsA traversal to build on, then the orders, trees, flows, and ranks a graph yields: nodes peeled off in dependency order, the cheapest tree that touches every node, the most that fits through a network and the cut that limits it, and the fixed point of rank flowing along links.
Sound from Scratch
Sound · 14 lessonsSamples to oscillators, envelopes, synthesis, spectra, and notes, up to a working sequencer.
Audio Effects
Sound · 6 lessonsA delay line and the echo it makes, that line swept by an oscillator into chorus and flanger, combs and all-passes stacked into a room, three biquads that bend a spectrum, a curve that clips a wave into harmonics, and a follower that turns a loud passage down.
Design Principles & Smells
Software · 17 lessonsCohesion, coupling, the Law of Demeter, and Amdahl's law as measures, then the seven code smells a detector can find in a small program and the refactoring that cures each, and six anti-patterns traced the same way, two of them by running the program.
Information Theory
Math · Algorithms · Computers · 8 lessons · in progressBits of surprise to the codes that reach them, the cost of a wrong model, and how many bits survive a noisy wire.
Error Correction
Computers · Math · 8 lessonsOne parity bit that notices a flip and a grid of them that places it, codewords far enough apart to tell apart, a word that fixes one flip and reports two, a remainder that catches bursts, arithmetic on four-bit symbols, the code that rebuilds a scratched disc, and the shuffle that turns a burst into single errors.
Logic & Reasoning
Math · Algorithms · Software · 9 lessons · in progressTruth tables to solvers and provers: how a machine decides what follows from what, and how Prolog turns that into a program.
Secrets & Trust
Security · Math · 12 lessonsCiphers and the number theory under them, then hashes, keys, signatures, certificates, and the handshake that puts them on the wire.
Languages & Interpreters
Software · 5 lessonsStates and automata to regular expressions, parsers, and a tiny language run first by walking its tree, then as bytecode.
Gates to a CPU
Computers · 9 lessonsSwitches to gates, gates to an adder, a loop of gates that remembers, a machine that fetches, decodes, and executes, and the caches, pipelines, predictors, and memory layout that make it fast.
Memory & Concurrency
Computers · Software · 6 lessonsPaged memory and a collector for the heap, then threads sharing it: the race, the locks and the deadlock they bring, the event loop that avoids both, and actors that share nothing.
Inside a Database
Data · 7 lessonsTables whose keys point at each other, the B-tree that finds a row, three ways to join two tables and the planner that prices them, then transactions, the log that survives a crash, and the tree that writes in layers.
Across Many Machines
Systems · 7 lessonsClocks that order messages without a wall clock, copies of a record and the reads they serve, a ring that places keys and shards that split a table, then committing across machines, electing a leader that keeps a log, and the choice a partition forces.
Multiplayer Netcode
Games · 4 lessonsRemote players drawn a little in the past, your own moves predicted and reconciled, a server that rewinds to judge a shot, and two machines that guess each other's inputs and roll back when wrong.
Core Data Structures
Algorithms · 13 lessonsHow work grows with input, then the structures that keep it small: a sorted array halved, a heap that always knows its minimum, a table that hashes to its slot, sets that merge in a few hops, a tree that rebalances, a list that skips, two arrays that make a set over small integers, a row of bits that remembers what it saw, counters that estimate a stream, registers that count distinct items in a few bytes, a tree whose every version survives, and subproblems solved once.
Sorting
Algorithms · 10 lessonsSwaps of neighbours to the hybrids libraries run: bubble, selection, and insertion sorts, gaps that shrink, halves merged, a pivot, a heap, the runs Timsort stitches, digits sorted in passes, and a network of comparators that sorts with no branches.
Compression
Algorithms · Sound · Graphics · 4 lessonsRuns of one symbol, pointers back into what was already sent, then cosines that pile a signal's energy into a few numbers and the codec that throws the rest away.
Forces to Flocks
Games · 6 lessonsForces integrated into motion, bodies that notice they overlap, a grid and a tree that find neighbours without checking every pair, the steering forces one agent obeys, and the flock that emerges when many do.
Color & Images
Graphics · 6 lessonsWhat a pixel's three numbers mean and the curve that bends them, scene light squeezed onto a screen, a look built from balance, lift, gamma, gain, and saturation, that look baked into a lattice and read back by interpolation, and kernels that blur, sharpen, and find edges.