Sources and limits
The analogies, examples, lesson text, exercises, and proposed interface are original course material. These references support specific foundations and offer further study; this course does not reproduce their lectures or figures.
- MIT 6.006: Dynamic Programming, Part 1 develops recursive subproblems, dependency order, and DAG connections. It is a foundation for the reasoning in cards 18–19.
- MIT 6.006: Dynamic Programming Subproblems discusses adjusting subproblems when more information is needed. Related cards: 25–27.
- MIT 6.006: Breadth-First Search covers graph representation and shortest paths measured in edges. Related cards: 10–11.
- MIT 6.006: Depth-First Search recitation explains depth-first exploration and traversal cost. Related card: 12.
- MIT 6.046: Interval Scheduling lecture notes provides a primary treatment of greedy interval scheduling. Related cards: 29–31.
- Python: functools.cache documents memoization through hashable arguments and availability since Python 3.9.
- Python: collections.deque documents efficient operations at both ends, used for BFS and dependency queues.
- Python: heapq documents the min-heap operations used in cards 09 and 32.
- Berkeley CS 61BL: Minimum Spanning Trees provides a primary course treatment of spanning trees, cuts, Prim, and Kruskal. Related card: 43.
- MIT 6.006: Bellman–Ford lecture transcript explains repeated relaxation and detection of a reachable negative cycle. Related card: 44.
- Karpicke and Blunt, 2011: retrieval practice and conceptual learning motivates asking learners to retrieve explanations. Its results do not establish the effectiveness of this particular curriculum or UI.
Worked problems and design foundations
Standard problem lessons link directly to their original LeetCode statement. Names and difficulty labels identify those source problems; all explanations and solutions here are original. Difficulty labels are not learning prerequisites or promises about how difficult a lesson will feel.
- Python typing and protocols supports the interface lessons. Type hints document and enable checking; they do not automatically enforce runtime behavior.
- Python dataclasses supports the small value-object examples.
- Python threading documents the lock used in the single-process reservation example. A process-local lock is not a distributed transaction.
- PostgreSQL transaction isolation supports the discussion of concurrent updates and transaction guarantees.
- PostgreSQL indexes supports choosing indexes around access paths and their write/storage costs.
- Raft: In Search of an Understandable Consensus Algorithm is the original paper behind the consensus discussion. The course’s majority-vote sketch is not a Raft implementation.
- Cloudflare cache behavior provides concrete context for CDN caching and cache-control decisions.
- Cloudflare R2 uploads documents object and multipart upload mechanisms related to the upload design.
- OWASP API Security provides further study for authorization and API abuse risks. A short teaching example is not a complete security solution.
The session lengths, review intervals, progress labels, and feed design are product choices to evaluate with learners. No fixed schedule guarantees mastery. Algorithm complexity statements use the usual unit-cost model unless a card notes a numeric or output-size qualification. HLD examples deliberately model one mechanism at a time; deployment, operational recovery, and adversarial validation require additional engineering.