The eight-section anatomy in Course standards says what is
present. This says whether the chapter actually teaches. Every item is
answerable from the page itself, and a review cites the item number when it
fails a chapter.
Items marked must gate the chapter — a chapter missing one is a draft.
Items marked should are what separates a usable chapter from a good one.
| Requirement | Passes when | Check |
|---|
| A1 must | Stated outcome | Opens with one sentence: a measurable verb and what the student can now do. Not “understand X”. | read |
| A2 must | Fixed shape | Same sections, same labels, same order in every chapter of every module. A reader who knows chapter 1 can navigate chapter 9 blind. | diff |
| A3 must | Self-contained | A student who missed the lecture can complete the chapter alone: no “as covered in class”. | read |
| A4 should | One idea | The chapter teaches one idea with its consequences. If the heading needs “and”, split it. | read |
| Requirement | Passes when | Check |
|---|
| B1 must | Covers the outcome | Every clause of the outcome is taught, not gestured at. Nothing ends in “exercise for the reader”. | read |
| B2 must | Exact reading | Primary source named per chapter: lecture number and textbook chapter/§. “Read the docs” is not a reading. | read |
| B3 should | Scope boundary | Says what is deliberately left out and which chapter covers it. | read |
| B4 should | Sourced claims | Any claim a practitioner would challenge has a citation or a demonstration in the page. | read |
| Requirement | Passes when | Check |
|---|
| C1 must | Starts from the known | Opens on an artefact the student has already met — earlier chapter, or real FTM code and data. | read |
| C2 must | Mechanism, not facts | Explains why it works and what happens when it doesn’t, not a list of properties. | read |
| C3 must | One running example | The same example carries the chapter. Three unrelated snippets is a summary, not a lesson. | read |
| C4 should | Named failure | Shows the wrong version and what breaks — the error, the silent wrong answer, the outage. | read |
| C5 must | Two misconceptions | Each stated as the wrong model a student holds, then the correction. “Students confuse X and Y” is not a misconception. | read |
| Requirement | Passes when | Check |
|---|
| D1 must | Reasoning shown | Step-by-step why, line by line — not code followed by “this works”. | read |
| D2 should | Edge case | Includes one input that is valid but wrong in meaning (empty, reversed, off-by-one, null). | read |
| D3 must | Verifiable | Runnable asserts or a stated output the student can reproduce. | run |
| Requirement | Passes when | Check |
|---|
| E1 must | Backward link | Names the chapters it assumes, explicitly (“needs Chapter 6’s aliasing”). | grep |
| E2 must | Forward link | Names where it is used later — chapter or module. A chapter nothing depends on is either misplaced or unnecessary. | grep |
| E3 must | Working links | Every cross-reference is a relative link that resolves. No external document IDs, no ticket numbers. | script |
| E4 should | Shared vocabulary | Same term for the same thing across modules; new terms defined at first use and used consistently after. | read |
| E5 should | Cross-module | Where a concept recurs in the FTM codebase (FTM301+) or another CS module, says so. | grep |
| Requirement | Passes when | Check |
|---|
| F1 must | Self-check | Four items with answers and reasoning, after the teaching, covering the misconceptions. | read |
| F2 must | Problem set | Five graduated problems (recall → apply → analyse → synthesise), marks visible, totalling 20. | script |
| F3 must | Solutions | Worked, with the mark allocation visible, so the student can mark themselves. | read |
| F4 should | Aligned | Every problem and every exam question maps to a clause of the outcome. | read |
| Requirement | Passes when | Check |
|---|
| G1 must | Code blocks | Language always; file title where the code is a real file; line markers where a specific line is the point. | read |
| G2 must | Notation | TeX via $…$ / $$…$$ only; no currency inside dollar signs; symbols match Notation & code. | grep |
| G3 should | Reference tables | Tables for reference material (values, orders, comparisons), prose for reasoning. No wall of bullets where a sentence belongs. | read |
A review is one row per chapter: module · chapter · failed items · evidence.
A must failure is fixed before the chapter ships; a should failure is
logged and fixed when the chapter is next touched. The audit of the first-year
modules lives in the repo at review/first-year.md.