Knowledge map
Each dot is an episode and each row is a series. Lines show prerequisites: learn the start of the arrow first. Filled dots are published, hollow ones are coming soon. Click a dot to open that episode.
Published Coming soon
Hover or tap a dot to see its title and where it is used in the real world.
All episodes (text version)
How Computers “Think”
- 1Bits and Number Bases: Binary, Hex, Two’s ComplementPublished
- 2Floating Point: Why 0.1 + 0.2 ≠ 0.3Coming soon
- 3From Logic Gates to an AdderComing soon
- 4Memory and Addressing: How One Byte Is FoundComing soon
- 5One CPU Cycle: Fetch, Decode, ExecuteComing soon
- 6Pipelines and Branch PredictionComing soon
- 7Caches: Why Sequential Access Beats Random Access by 10× or MoreComing soon
- 8Virtual Memory and Page TablesComing soon
- 9Compilers: From Source Code to Machine CodeComing soon
- 10OS Scheduling and Context SwitchesComing soon
- 11File Systems: What a File Looks Like on DiskComing soon
- 12Finale: From a Key Press to Text on ScreenComing soon
Data Structures and Algorithms
- 1Arrays and Linked Lists: Contiguous vs. PointersComing soon
- 2Hash Tables: Trading Space for TimeComing soon
- 3Bloom Filters: “Have I Seen This?” in Tiny MemoryComing soon
- 4Binary Search Trees and Balanced TreesComing soon
- 5B-Trees and B+ Trees: Database IndexesComing soon
- 6Skip Lists: Coin Flips Instead of RotationsComing soon
- 7Heaps and Priority QueuesComing soon
- 8LSM Trees: Turning Random Writes into Sequential OnesComing soon
- 9The Sorting Family: Lower Bounds and Radix SortComing soon
- 10Graph Search and Shortest Paths: BFS, Dijkstra, A*Coming soon
- 11Dynamic Programming: From Recursion to TablesComing soon
- 12Strings: Tries and KMPComing soon
- 13Finale: One Dataset, a Data-Structure ArenaComing soon
Distributed Systems
- 1Why Distributed: Single-Machine Limits and Failure OddsComing soon
- 2Clocks: Why There Is No “Same Moment”Coming soon
- 3Consistent Hashing: Adding or Removing Machines Moves Little DataComing soon
- 4Replication and Leader–FollowerComing soon
- 5CAP and PACELCComing soon
- 6Consensus: The Intuition of Paxos and RaftComing soon
- 7Two-Phase Commit and SagaComing soon
- 8Gossip Protocols and Failure DetectionComing soon
- 9CRDTs: Merging Without CoordinationComing soon
- 10Message Queues and the Illusion of “Exactly Once”Coming soon
- 11Rate Limiting, Circuit Breakers and BackpressureComing soon
- 12Finale: A Small Distributed KV Store, Kill Any NodeComing soon
Mathematical Structures
- 1Symmetry and Groups: The 8 Moves of a SquareComing soon
- 2Permutation Groups and PuzzlesComing soon
- 3Modular Arithmetic: Remainders on a Clock FaceComing soon
- 4Primes and the Intuition Behind RSAComing soon
- 5Graph Theory: From the Seven Bridges to Euler PathsComing soon
- 6Graph Colouring and the Four Colour TheoremComing soon
- 7Euler’s Formula V − E + F = 2Coming soon
- 8Topology: Why a Coffee Cup Equals a DoughnutComing soon
- 9Linear Algebra: A Matrix Is a Transformation of SpaceComing soon
- 10Complex Numbers and RotationComing soon
- 11The Fourier Transform: Every Wave Is a Sum of SinesComing soon
- 12Finale: How Groups, Graphs and Spaces ConnectComing soon
Probability, Statistics and Information
- 1Probability Traps: The Birthday Paradox and Monty HallComing soon
- 2The Law of Large Numbers and the Central Limit TheoremComing soon
- 3Bayes’ TheoremComing soon
- 4Random Walks and Brownian MotionComing soon
- 5Markov Chains and PageRankComing soon
- 6Monte Carlo: Computing π with Random NumbersComing soon
- 7Hypothesis Tests and the p-value TrapComing soon
- 8Regression and OverfittingComing soon
- 9Entropy: Measuring InformationComing soon
- 10Compression: Huffman CodingComing soon
- 11Error-Correcting Codes: Hamming CodesComing soon
- 12Finale: How Information Theory Ties Together Compression, Communication and Machine LearningComing soon
The Limits of Computation
- 1What Is an Algorithm? A Turing Machine You Can RunComing soon
- 2The Halting Problem and the Diagonal ArgumentComing soon
- 3Gödel’s Incompleteness, IntuitivelyComing soon
- 4Complexity: From O(n) to Exponential Blow-upComing soon
- 5P and NP: Easy to Check, Hard to FindComing soon
- 6NP-Completeness and Reductions: 3-SATComing soon
- 7The Travelling Salesman and ApproximationComing soon
- 8Randomized Algorithms: the Miller–Rabin TestComing soon
- 9Chaos and Unpredictability: the Logistic MapComing soon
- 10Cellular Automata: Life and Rule 110Coming soon
- 11Kolmogorov Complexity: Defining RandomnessComing soon
- 12Finale: Quantum Computing, a First LookComing soon
The I Ching × Math and Computing
- 1Sixty-Four Hexagrams = Six BitsComing soon
- 2Shao Yong’s Order: Binary Counting in DisguiseComing soon
- 3The Six-Dimensional Cube: Distance Between HexagramsComing soon
- 4Different Orderings: How Many Lines Change Between NeighboursComing soon
- 5Complement, Reversal and Nuclear Hexagrams: Bit OperationsComing soon
- 6Changing Lines and Probability: Yarrow Stalks and Three CoinsComing soon
- 7Leibniz and BinaryComing soon
- 8Two Cycles of the Five Phases: Generating, Overcoming and Directed GraphsComing soon
- 9The Luoshu and Magic SquaresComing soon
- 10Counting Rods and Decimal Place ValueComing soon
- 11The Symmetry Group of Hexagrams: Flipping Lines Is a GroupComing soon
- 12Finale: Sixty-Four Hexagrams as a State MachineComing soon
System Design
- 1Client and Server: The Journey of a Request (HTTP, DNS)Coming soon
- 2API Design: REST and RPCComing soon
- 3Load Balancing: Spreading Traffic Over Many MachinesComing soon
- 4Caching and CDNs: Hit Rate Versus FreshnessComing soon
- 5Database Basics: SQL and NoSQLComing soon
- 6Message Queues: Smoothing Peaks and DecouplingComing soon
- 7Security Basics: Authentication, Authorization and TLSComing soon
- 8Functional and Non-Functional RequirementsComing soon
- 9Capacity Estimation: Back-of-the-Envelope MathComing soon
- 10Latency Numbers: A Ruler Drawn to ScaleComing soon
- 11Data Modeling: Normalized or DenormalizedComing soon
- 12Sharding: Shard Keys and Hot SpotsComing soon
- 13Replication by Design: Lag, Failover and Lost WritesComing soon
- 14Transactions and Isolation LevelsComing soon
- 15Search and the Inverted IndexComing soon
- 16Availability and the NinesComing soon
- 17Rate Limiting: Token Bucket and Leaky BucketComing soon
- 18Levels of ConsistencyComing soon
- 19Failure and Recovery: RPO and RTOComing soon
- 20Observability: Logs, Metrics and TracesComing soon
- 21Case Study: A URL ShortenerComing soon
- 22Case Study: Designing a Distributed Rate LimiterComing soon
- 23Case Study: A News FeedComing soon
- 24Case Study: A Chat SystemComing soon
- 25Case Study: Cloud Storage and Multi-Device SyncComing soon
- 26Case Study: A Video PlatformComing soon
- 27Case Study: Search AutocompleteComing soon
- 28Case Study: Nearby FriendsComing soon
- 29Capstone: Assembling the Parts Into a Whole SystemComing soon