Finish the primary source selectively, implement the exercises, build the stage project, and reach for a secondary source only for a demonstrated gap. Completion is tracked for convenience and contributes 0% to progress.
105 of 105
From the curriculum
Named in 20_RESOURCE_LIBRARY.md and the stage files
OPTIONAL
The Missing Semester of Your CS Education
MIT · (optional)
The shell, editors and developer tooling a CS degree assumes you picked up somewhere. Optional here: take the shell lectures if the terminal still feels foreign after the practice, and leave the rest.
Reference for the editor itself — the integrated terminal, workspace folders and settings. Look things up as you need them; there is nothing here to work through.
The teaching path for this stage, assuming no prior programming. Follow it in order and do the problem sets before the drills, which are the same material at a different angle.
The official language tutorial. Use it to check exactly how a construct behaves rather than as a course — it assumes some prior programming, which is why it is a reference here and not the teaching path.
The official Python Tutorial assumes some prior programming knowledge, so use it as reference while CS50P provides the beginner teaching path.
The book that explains what Git is doing, not only which command to type. Chapters 1 to 3 cover this stage; read the branching chapter before the branching practice, not after it.
The official tutorial, worked in a real database rather than a browser sandbox. Do it against your own schema so the queries return data you can verify by hand.
The framework tutorial, in order, from first app to dependencies and testing. Build it against the database you designed in Stage 3 rather than the tutorial's toy data.
Algebra, functions, exponents and logarithms at whatever level you actually need. Use the practice exercises; watching the videos without doing them is the failure mode this stage exists to prevent.
Probability, distributions, sampling and correlation, with exercises. The conditional-probability and base-rate material is the part that decides whether later metrics mean anything to you.
Vectors, matrices, dot products and transformations. Work the vector and matrix-multiplication exercises by hand — shape intuition built here is what makes Stage 9 debuggable.
An optional structured course covering the same four subjects as one sequence. Take it instead of the Khan Academy path if you prefer a single guided track, not in addition to it.
Stage 7Weeks 42–43 — Algebra and functionsWeeks 44–46 — Linear algebraWeeks 47–49 — Probability and statisticsWeeks 50–51 — Calculus and optimization
The teaching path for classical ML: framing, splitting, models, preprocessing and evaluation, with interactive exercises. Work it alongside your own dataset rather than only its examples.
The library you will implement in, plus a user guide that explains the methods behind it. The pipeline and model-evaluation sections are the ones that prevent leakage rather than merely describing it.
Two source links: Stage 8 links getting_started.html, the resource library links user_guide.html. Both preserved.
An optional longer course covering this stage's material with more mathematical depth. Choose it over the crash course if you want the derivations; do not run both in parallel.
The official beginner path from tensors to a full training loop. Type the training loop rather than copying it — reproducing it from memory is this stage's gate.
The teaching path for this stage: tokenization, attention, transformer internals and the library that exposes them. Chapters 1 to 3 cover what the gate asks you to explain.
A short, conceptual account of language models and how they are trained. Useful as a second explanation of tokens, context and fine-tuning when the primary course moves quickly.
An optional course on tool use and agent loops. Take it only after your deterministic workflow works and you can show why agency was required — 24_SCOPE_CONTROL.md is explicit that frameworks come after the fundamentals.
The teaching path for production ML: packaging, lifecycle, serving, CI/CD and monitoring as one connected system. Apply each section to the model you already trained rather than to its example project.
Short reference chapters on production ML systems, including serving, pipelines and monitoring. Read it for the failure modes it names, then check which of them your own deployment would actually catch.
Added to cover subjects the canonical library leaves bare. Never primary.
REFERENCESupplement
Computer Basics
GCFGlobal
Plain-language coverage of hardware, the operating system and how files are organised, written for someone starting from nothing. Use it for the vocabulary, then move to the terminal material.
What a package manager does and why each project gets its own virtual environment, from the people who maintain both. Read the tutorial for the why and the venv page for the mechanics.
Client, server, addresses and what a URL is made of, at the level of intuition this stage asks for. Stage 4 supplies the protocol detail; stopping here is deliberate.
The official introduction to the eight commands Stage 1 actually uses, and nothing beyond them. Pro Git is the Stage 2 resource; this is the smaller reference for saving and publishing work while you are still learning Python.
Free full text, strongest on files, CSV and JSON — the exact material behind the Expense CLI. Use it as a second explanation when CS50P moves too fast.
The reference for the modelling half of this stage: column types, constraints, keys and what each one actually enforces. Read it while designing the schema, not after the first bad row.
Normalization through BCNF, what a B-tree index costs on writes, and how to read EXPLAIN ANALYZE — then window functions, recursive CTEs and isolation levels. Read the indexing file when the stage asks you to justify one index on one query.
The stage's PRIMARY, the PostgreSQL tutorial, never covers query plans or composite-index ordering. This fills that gap; it is not a second SQL course.
How to replace prints with real logging: levels, formatting, and where output goes. The cookbook covers attaching request context, which is what makes a deployed failure findable.
The practical reference for methods, status codes and headers. The source's framework rule is to learn HTTP before framework magic — this is that material.
The canonical account of how preprocessing leaks information and why transformations must be fitted after splitting. Read it now for the habits; Stage 8 is where you apply them to a model.
The ETL/ELT, pipeline-stage and lineage sections of a course you will return to in Stage 12. Read only the data-engineering chapter here; the deployment material is Stage 12's.
Scoped read. The rest of this course belongs to Stage 12 and would be premature now.
Stage 6Pipeline fundamentalsLineage and versioning
One example of expressing a DataFrame schema declaratively. Write your checks as plain assertions first — this stage never requires a validation framework.
Optional example only. Adopting it before you have hand-written the checks inverts the framework rule in 24_SCOPE_CONTROL.md.
43 rules from production practice, starting with 'do not use ML if you do not have to' and 'make your first model simple'. Directly reinforces the baseline discipline.
Techniques catalogue for treating prompts as program inputs. Use the structured-output and tool-calling sections; skip the certification-adjacent material.
One small vector store, sufficient for the stage project. Scope control bars vector databases before Stage 8 and warns against collecting five of them.
Deliberately the only vector store listed. Learn retrieval metrics before adopting infrastructure.
Where the rule that configuration comes from the environment originates. Short, and it settles most config-versus-secret arguments. Its logs, disposability and dev/prod-parity factors are the deployment half of this stage.
Stage 4Stage 12Shipping the API — Runtime configurationShipping the API — DeploymentLearn — PackagingLearn — Cloud fundamentals
The current official documentation for defining eval datasets and graders, and for running an eval as a repeatable job. Read it for the vocabulary — datasets, graders, runs — then implement the same shape yourself.
Provider-specific documentation for a provider-independent idea. The concepts this stage requires — eval sets, graders, component vs end-to-end evals, regression evals — must be implementable without any vendor.
Stage 11Stage 13Topics — EvaluationTopics — Production learning loopEvaluation
How to design task-specific evals, choose between code, human and model graders, and where LLM-as-judge stops being trustworthy. Vendor-neutral in substance.
A historical open-source eval harness. Kept only as a structural example of separating component and end-to-end evals; it is no longer the modern OpenAI eval reference.
Historical. Prefer the current evaluation documentation for anything you intend to build.
OpenTelemetry — semantic conventions for generative AI
OpenTelemetry
A vendor-neutral field vocabulary for tracing LLM calls: prompts, tokens, latency, errors. Use it to shape your own trace schema instead of adopting a tracing product.
Deliberately vendor-neutral. No LangSmith or hosted tracing platform is required at any stage.