Learning path / 10 published lessons
The 6-Month Learning Plan · 130 Sessions and a Foundations Lab
A coherent 130-session, 16-module engineering curriculum with 26 revisions, a protected ten-lesson Foundations Lab and honest pacing and prerequisite boundaries.
What you’ll work toward
- Choose an appropriate starting lesson
- Distinguish checked behavior from unsupported guarantees
- Produce a tested local-system capstone
Completion is stored on this device only. Nothing is locked; start where it makes sense.
Start this pathBefore the first lesson
No prior subject knowledge is listed for the first lesson. Later lessons name their own prerequisites.
These are the starting lesson’s prerequisites, not requirements for every advanced topic below.
How to practise this subject
Attempt each lesson’s exercises before opening the explanation. Reconstruct its main example, change an assumption, and use the stated test boundaries to judge what you have actually checked.
- 01
01 · Programs as contracts: values, state and tests
Build a small event normalizer, expose aliasing, and distinguish a test from a proof. Python foundations without a catalogue of syntax.
- 02
02 · Count work, then remember what matters
Derive hash counting and prefix sums from repeated work, with brute-force oracles and honest complexity assumptions.
- 03
03 · Discarding possibilities: search and windows
Prove which candidates can be discarded, derive lower bound, and see exactly why negative numbers break a common window.
- 04
04 · Unfinished work: stacks, queues and heaps
Choose a removal policy, prove a next-greater stack, and maintain a bounded top-k heap without confusing partial order with sorting.
- 05
05 · Graphs: reachable is not ready
Derive unweighted shortest paths and dependency ordering, with explicit edge direction, cycle rejection and bounded exhaustive tests.
- 06
06 · Dynamic programming: choose a sufficient state
Derive take-or-skip recurrence, explain backward capacity updates, and distinguish exact amounts, capacity bounds and counting order.
- 07
07 · Relations, joins and all-or-nothing changes
Build an in-memory SQLite notebook, preserve zero-event jobs in a join, and test rollback without confusing it with crash durability.
- 08
08 · Retries: a timeout is not a verdict
Model a lost acknowledgement, define idempotent effects, and separate delivery, durable processing and response replay.
- 09
09 · Bounded work: queues, deadlines and ownership
Reason about backlog growth, choose an overload policy and distinguish admission, completion and cancellation without running a server.
- 10
10 · Capstone: a trustworthy local job notebook
Integrate validation, dependency checks, atomic event ingestion and retry tests. A runnable reference core and an evidence-based assessment rubric.