Curriculum

From print() to a matching engine

Lessons that are not written yet are listed so you can see where the course goes.

  1. 0 · Orientation

    1. 0.1Hello, market
    2. 0.2The problem templateReady
  2. 1 · Numbers & Money

    1. 1.1Variables & arithmetic
    2. 1.2The float trap
    3. 1.3math & f-strings
  3. 2 · Decisions

    1. 2.1Booleans & comparisons
    2. 2.2Branching
    3. 2.3Tick-size rounding
  4. 3 · Lists & Loops

    1. 3.1Lists & indexing
    2. 3.2for & accumulation
    3. 3.3Running maxReady
    4. 3.4while, break, continue
    5. 3.5Building lists
  5. 4 · Functions

    1. 4.1Functions properly
    2. 4.2Scope & mutability
    3. 4.3Functions as values
    4. 4.4Errors & exceptions
    5. 4.5Testing your own code
  6. 5 · Complexity

    1. 5.1Counting work
    2. 5.2Best time to buy and sell
    3. 5.3Sliding windows
    4. 5.4Prefix sums
  7. 6 · Dicts & Sets

    1. 6.1Dictionaries
    2. 6.2Sets
    3. 6.3Two-sum
    4. 6.4Grouping & counting
  8. 7 · Strings & Files

    1. 7.1String toolkit
    2. 7.2Parsing a wire protocol
    3. 7.3Files & CSV
  9. 8 · Classes & Data Modelling

    1. 8.1Classes
    2. 8.2Dataclasses & enums
    3. 8.3Dunder methods
    4. 8.4Generators
  10. 9 · Searching & Sorting

    1. 9.1Binary search
    2. 9.2Bisection
    3. 9.3Merging sorted streams
    4. 9.4Sorting in practice
    5. 9.5Quickselect
  11. 10 · Stacks, Queues & Linked Lists

    1. 10.1Stacks
    2. 10.2Next greater element
    3. 10.3Queues
    4. 10.4Monotonic deque
    5. 10.5Linked lists
  12. 11 · Heaps & Trees

    1. 11.1Heaps
    2. 11.2k-way merge
    3. 11.3Two heaps
    4. 11.4The limit order book
    5. 11.5Binary search trees
  13. 12 · Recursion & Dynamic Programming

    1. 12.1Recursion
    2. 12.2Binomial trees
    3. 12.3Memoisation
    4. 12.4Bottom-up DP
    5. 12.5State-machine DP
    6. 12.6Knapsack
  14. 13 · Greedy

    1. 13.1Greedy choice
    2. 13.2Merging intervals
    3. 13.3Sweep line
    4. 13.4When greedy fails
  15. 14 · Graphs

    1. 14.1Graphs as dicts
    2. 14.2Dijkstra
    3. 14.3Bellman-Ford
    4. 14.4Topological sort
    5. 14.5Union-find
  16. 15 · Randomness & Monte Carlo

    1. 15.1Seeds & reproducibility
    2. 15.2Geometric Brownian motion
    3. 15.3Monte Carlo pricing
    4. 15.4Variance reduction
    5. 15.5Bootstrap
  17. 16 · Streaming Stats & Numerical Methods

    1. 16.1Online mean & variance
    2. 16.2EWMA
    3. 16.3Newton-Raphson
    4. 16.4Finite differences
    5. 16.5Correlation matrix
  18. 17 · NumPy & pandas

    1. 17.1Arrays
    2. 17.2Broadcasting & masks
    3. 17.3pandas essentials
    4. 17.4Linear algebra
  19. Capstones

    1. C1Matching engine
    2. C2Event-driven backtester
    3. C3Arbitrage scanner
    4. C4Risk engine
    5. C5Option pricing lab