Time: about 12 minutes. Checkpoint: cp07-note-g (optional).
You will need: the index mapping from Unit 3, and either the table you built
in Unit 3 or the lab oracle from Unit 5. Either is sufficient.
Optional unit, outside the core time budget. Nothing here gates anything, and the module is complete without it.
Two tasks. The first takes about four minutes and is the checkpoint. The second takes about eight and is the one worth protecting if you are short of time.
Task 1 — establish the value independently, then compare
Note G's worked example computes the number Lovelace labels B7 (Menabrea 1843). Your job is to state what that number should be without looking at the historical table, and only then to look.
The order matters. A reference value you obtained after seeing the thing you are checking is not a reference value.
Route A — table-based verification
Equal status with Route B. Use it if you are not running Python, or if you would rather do the reasoning on paper.
- Take Lovelace's label B7 and convert it to a modern index using the mapping from Unit 3. Write the modern index down before going on.
- Look that modern index up in the Bernoulli table you built in Unit 3, or in the
table in
course/historical-notes.md. - Write the exact value as a fraction. Not a decimal — the whole argument of this module rests on exactness.
Route B — automated verification
Equal status with Route A.
python3 selfcheck.py explore
Then, at the explore> prompt:
map
ada 7
map prints the index mapping; ada 7 converts Lovelace's label and returns the
oracle's exact value at the corresponding modern index.
Then answer these, in writing, in your evidence pack
Two or three sentences each is plenty.
- What did the comparison actually catch? Be specific about the kind of discrepancy a value-by-value comparison can detect.
- What would it not have caught? Name at least one class of error in a printed procedure that comparing final values leaves completely invisible.
- What did you have to know before the comparison meant anything? There is more than one thing here, and one of them is not about Bernoulli numbers at all.
Now run the checkpoint
python3 selfcheck.py run cp07-note-g # or use the browser self-check
Both routes ask the same question, accept the same forms of the answer, and give the same diagnostics. Pick whichever you have to hand.
Task 2 — sort one claim, and say what would move it
This is the harder task and the one that transfers furthest.
Below are seven statements about Note G, all of which circulate. Pick one — or work through several if you have time — and do three things with it.
- Sort it into
established,contested, orunsourced, as those buckets are defined on the student page. - Say why you put it there, in one sentence. "It sounds right" is not a reason; "I have not seen a source, only assertions" is.
- Say what would move it. Name a specific piece of evidence that would let you reclassify it — something a person could actually go and consult, not "more research".
Do not look up the answers first. The sorting is the exercise; getting the "right" bucket matters less than being able to defend the placement.
The statements
A. Note G appeared in 1843, as part of Lovelace's translation of Menabrea's memoir on the Analytical Engine, with her Notes appended.
B. The table published in Note G contains at least one error.
C. The error is an inversion — a divisor and a dividend the wrong way round in one operation of the table.
D. Lovelace introduced the error, and Babbage did not catch it before publication.
E. The error was introduced by the printer when the type was set, not by either author.
F. The error stood uncorrected for more than a century.
G. The as-printed table computes −25621/630.
Write it up like this
Statement: <letter>
Bucket: established | contested | unsourced
Why: <one sentence>
What would move it: <a specific, consultable piece of evidence>
Keep this. It is worth adding to the evidence pack you assemble in Unit 8 — that pack does not require it, but this is the clearest short demonstration you will produce that you can tell "I checked this" from "I have read this a lot".
Optional extension — the same test on generated text
Optional. Not required, and it does not gate anything.
Ask an AI system for a short account of the error in Note G. Then apply Task 2's three questions to every factual assertion in what comes back.
You are not looking for it to be wrong. It may well not be. You are looking at something more specific: whether the register changes between the parts that are well established and the parts that are contested or unsupported. Does the confidence of the prose track the strength of the evidence?
Record what you find in your evidence pack in one sentence. It is a useful thing to have observed once, first-hand, rather than to have been told.
Before you move on
You should be leaving this unit with:
- the modern index corresponding to Lovelace's B7, and its exact value, obtained by a route you can describe
cp07-note-gpassed- written answers to the three questions in Task 1
- one sorted statement from Task 2, with its "what would move it"
All four are worth adding to the evidence pack you assemble in Unit 8, as an appendix marked optional. Unit 8 does not require them.
Marking guidance — open this once you have done the activity, to check your own work
For learners checking their own work after attempting the activity, and for instructors marking or discussing it.
This key does not restate the value asked for at cp07-note-g. Deriving it is
the learning objective, and the checkpoint gives targeted diagnostics if you go
astray. Checkpoint answers live in course/lab/checkpoints.py and nowhere
else, by design.
Citation shorthand. (Menabrea 1843) = Menabrea, "Sketch of the Analytical
Engine invented by Charles Babbage", trans. with Notes A–G by Ada Lovelace, in
Taylor (ed.), Scientific Memoirs, vol. 3, 1843. Full entry in
course/references.md.
Task 1 — the three written questions
1. What did the comparison actually catch?
A value-by-value comparison against a reference you obtained independently catches exactly one class of thing: a disagreement in a final value at a named index. That covers a wrong number, a wrong sign, an inexact number where an exact one was required, and — if you are comparing index against index rather than scanning for familiar-looking values — a value that is itself correct but filed under the wrong label.
That last case is worth dwelling on, because it is the one you met at
cp05-diagnose. Every individual value can be a genuine Bernoulli number while
the output as a whole is still wrong.
A good answer names the class of error, not just the outcome. "It caught that the numbers differ" is thin. "It caught a disagreement at a specific index, which is the only thing comparing final values can catch" is the answer.
2. What would it not have caught?
Several things, and any one of them earns the mark:
- A right answer reached by a wrong route. Two errors that cancel, or an operation that is wrong but happens not to affect this particular example, leave the final value intact.
- Errors elsewhere in the procedure. A single worked example exercises a single path. Anything the example does not reach is untested.
- Errors in the surrounding prose. A comparison of numbers says nothing about the claims made in the text around the table.
- The location of the fault. This is the important one. A final-value comparison tells you that something disagrees. It does not tell you which step is responsible.
That last point is the hinge of the whole unit. The value comparison supports the
claim that the published table contains an error — a claim about final values.
It cannot, on its own, underwrite the claim about where the error is. That
location claim — operation 4, operands inverted — took a different kind of check:
reading the facsimile of the 1843 printing [P2a] and recomputing the table's
operations in noteg.py (see course/historical-notes.md §4). Each kind of
claim needs its own kind of check, and the location claim moved to established
only when that check was done. If a learner connects those two things without
prompting, they have understood the unit.
3. What did you have to know before the comparison meant anything?
At least three things, and the third is the one the question is fishing for.
- The convention. Under the second Bernoulli convention,
B1 = +1/2, one value in the sequence differs. Comparing against a reference built on a different convention produces a fake discrepancy. - That your reference is independent. A reference derived from the thing you are checking checks nothing.
- What "B7" means in the source's own notation. This is not a fact about mathematics at all. It is a fact about how a document written in 1843 labels its quantities — Lovelace numbers only the non-zero Bernoulli numbers (Menabrea 1843), so her labels do not mean what the identical modern labels mean.
Reading a historical source requires knowing its conventions, and the conventions are usually not stated in the source, because at the time they did not need to be. Exactly the same is true of a specification handed to a generating system: the requirement most likely to be violated is the one so obvious to you that you did not write it down.
Task 2 — the seven statements
The bucket assignments below are this module's positions, stated as positions. A learner who places a statement differently but gives a defensible reason and a concrete "what would move it" has done the exercise correctly. The reasoning is the assessable part, not the label.
A. Note G appeared in 1843, with Lovelace's Notes appended
Established. Covered directly by the primary source (Menabrea 1843), and
recorded in course/references.md.
What would move it: essentially nothing short of a bibliographic error in the volume itself. This is about as settled as a historical claim gets, and it is useful in the exercise precisely as a calibration point — the bucket is not empty.
B. The published table contains at least one error
Established. This module states it, and course/historical-notes.md gives
the fuller detail.
Note how narrow the statement is. It asserts existence and nothing else — no location, no kind, no author. A learner who marks this "contested" has confused it with statement C, which is the confusion the whole unit is built around. That is a productive mistake and worth discussing rather than simply correcting.
What would move it: a careful published analysis of the original printing concluding that the table is in fact correct as printed.
C. The error is an inverted divisor and dividend in one operation
Established — and it is worth knowing that it only recently was.
For most of this module's development the right answer here was contested: the description is the one you meet most often, and wide circulation is not evidence, because many retellings may descend from a single earlier account rather than from the printing itself.
Then the check happened. The "what would move it" for this claim was always
specific — a facsimile of the 1843 printing, read directly, with a trace of the
operations against a correct computation — and it was carried out. The facsimile
[P2a] shows the error in operation 4, acting on V₅ and V₄ in that order,
where producing the stated (2n−1)/(2n+1) needs V₄ ÷ V₅. The operands are
inverted. See course/historical-notes.md §4 and the unit reading, section 3.
So this claim moved buckets — not because it was repeated more, but because the consultable thing got consulted. A learner who marks this "contested" is giving the answer that was correct on the older evidence, and should notice from section 3 that the evidence changed. Reward the reasoning either way; the tell for full marks is whether they cite the facsimile check rather than the claim's popularity. What stays contested is who introduced it — items D and E — because no facsimile can show that.
D. Lovelace introduced the error; Babbage did not catch it
Contested. An attribution, and one of several in circulation. Attribution is a strictly harder claim than existence: it requires evidence about the process of production, not just about the printed result.
What would move it: surviving manuscript drafts, proof sheets, or correspondence
from the period showing the value at different stages (unsourced; what
manuscript material exists, and where it is held, is recorded as an open question
in course/historical-notes.md).
E. The error was introduced by the printer
Contested, and for the same reason as D. It is a competing attribution, and the same evidence would bear on both.
If a learner notices that D and E cannot both be right, and that this alone is enough to place both in "contested" without knowing anything else, that is a genuinely good observation. Mutual incompatibility among widely repeated accounts is a cheap and reliable contestedness detector. It costs nothing to apply and it works on generated text.
F. The error stood uncorrected for more than a century
Unsourced. This module has not verified when the error was first remarked on
in print, or by whom (unsourced; recorded as an open question in
course/historical-notes.md).
"Unsourced" rather than "contested" is the right call here because the module is not aware of competing accounts — it is simply aware of no checked account at all. Accepting "contested" from a learner is reasonable; what is not reasonable is "established", and the tell is that the statement is quantitative ("more than a century") while nothing supporting the number has been produced.
What would move it: a dated published correction, or a survey of the literature identifying the earliest one.
G. The as-printed table computes −25621/630
Unsourced or contested before checking — and refuted once the check was done.
Before any check, this is a textbook bucket-two-or-three claim: the figure is
everywhere online, and cited to no scholarly source. Repetition is not
corroboration. But this claim, unlike D and E, is checkable from your desk, and
the module checked it: the recomputation in course/lab/noteg.py traces the
as-printed operations — operation 4 inverted, exactly as the facsimile shows —
and the as-printed table gives 139/630, not −25621/630. See
course/historical-notes.md §4.
A learner who places this in "established" because the number is so widely repeated has made exactly the misfiling the unit warns about. The recomputation refutes the claim; wide circulation never supported it.
What would move it: nothing now moves it back — a claim refuted by a recomputation you can rerun is settled — but a published derivation showing a different reading of the as-printed operations would reopen the question.
Common ways this activity goes wrong
Treating "contested" as a polite way of saying "false". It is not. It is a statement about the strength of the evidence available, not about the truth of the claim. Statement C may well turn out to be an accurate description; the module's position is that it has not established this, not that it doubts it.
Sorting by plausibility instead of by provenance. The buckets are about where a claim came from, not about how likely it sounds. A highly plausible claim with no source is unsourced. This is the single most common error in the task.
Producing a vague "what would move it". "More research" and "checking the sources" are not answers. The test is whether you have named something a person could actually go and consult. If you cannot, you have not yet worked out what the claim depends on.
Looking it up before sorting it. Understandable, and it destroys the exercise. The skill being trained is what you do with a claim before you have resolved it, because in practice most claims are never resolved — they are used, or not used, in whatever state you found them.
For instructors
- The unit is deliberately short and deliberately under-coloured. If it feels thin next to the rest of the module, that is the design responding to the risk flagged in the plan: this is the unit where invented historical detail is most likely to creep in, from any author, human or otherwise.
- The most valuable discussion prompt is not "which bucket" but "what would move it". That question generalises to essentially every claim a student will meet in the rest of their degree.
- Statement F is the useful one for cohorts that find the exercise easy. It is quantitative, memorable, entirely uncontroversial in tone, and unsupported — which is a good description of a large fraction of confident writing.
- If the course team later resolves the specific description or the attribution
from primary evidence, the change belongs in
course/historical-notes.mdfirst. This unit deliberately holds no independent historical position that could drift out of step with it.
Your private activity record
Browser storage is not a permanent copy
Progress is kept only in this browser, profile and device. Private browsing, clearing site data, removing the profile, a browser reset, storage eviction or device loss can erase it. Keep important answers and contributions separately.
These notes stay in this browser unless you download a backup or activity log.