Exams

A checkpoint is an exam: a set of questions of its own, the way a university publishes one. The interface calls them by the checkpoints label of the domain, so a domain that sets checkpoints: Exams shows Exams (The root and the domain).

A checkpoint is not made of flashcards. Its questions are not flashcards, and the scheduler never sees them.

Where checkpoints live

The checkpoints of a domain live in its checkpoints/ directory, beside its sections. Inside it, use directories to any depth: one per university and one per year under it, for example.

phy/
├── index.md
├── eam/                                  a section
└── checkpoints/                          the checkpoints of the domain
    ├── index.md                          a checkpoint folder: order
    └── eam/                              a checkpoint folder
        ├── index.md                      title, order
        ├── direct-current-quantities.md  a checkpoint
        └── dc-analysis-laws.md           a checkpoint
  • checkpoints/ and each directory under it is a checkpoint folder. Each needs an index.md.
  • Each .md file in a checkpoint folder, other than index.md, is a checkpoint.
  • A checkpoint folder can hold checkpoints and other checkpoint folders side by side.
  • The order of the domain does not list checkpoints.

A checkpoints/ directory without its index.md is an error:

ERROR ./math/checkpoints/index.md: cannot read: no such file

A checkpoint folder must hold at least one checkpoint or one folder.

A checkpoint folder

---
title: Electromagnetism
order: [direct-current-quantities, direct-current-circuits, dc-analysis-laws, dc-analysis-methods, dc-analysis-thevenin]
---
FieldIs
titlethe name of the folder; its id if absent
orderthe checkpoints and the folders it holds, in order
drafttrue holds back the folder and everything in it

order follows the same rules as everywhere else (The tree).

A checkpoint

---
title: Physics, 2020
---

Answer every question without notes.

::: question q1
A 9 V source feeds a 3 Ω and a 6 Ω resistor in series. What is the current?

::: answer
1 A.
:::

::: solution
The resistances add: $9 / (3 + 6) = 1$ A.
:::
:::

::: question q2
A component carries 0.5 A when 6 V sits across it. What is its resistance?

::: answer
$R = V / I = 6 / 0.5 = 12\ \Omega$.
:::
:::
PartWritten as
the titletitle: in the front matter; the id if absent
the instructionsthe text outside the questions
a questiona ::: question block, with an ::: answer and an optional ::: solution

Put the instructions before the first question. The app shows all text outside the questions as the instructions, at the top of the checkpoint.

A question is written exactly as a flashcard of a deck (Flashcards and solutions). Its answer is required, and its solution is optional. A question without an id takes e1, e2, in order. Two questions in one checkpoint cannot share an id.

A checkpoint holds questions and nothing else. A card, a figure or a reference in a checkpoint is an error:

ERROR ./math/checkpoints/mit/2020.md:5: `card` cannot sit inside `checkpoint`

The instructions and the questions can link references of the domain with [label](reference:id).

A checkpoint draws no plot. A plot block in the instructions or in a question is an error:

ERROR ./math/checkpoints/c.md:7: a `plot` block draws only in a `card` or a `figure`, and this one sits in the instructions of a checkpoint, so the app never draws it: move it to a card

Ids

The id of a checkpoint is its filename stem, and the id of a folder is its directory name. The rules of unique ids and reserved ids do not apply to them. Two folders can each hold a 2020.md, because the address of a checkpoint in the app includes its folders.

What the learner sees

The Exams scroll shows the checkpoints of the domain one after another, in the order of their folders. A checkpoint with no questions does not show. A checkpoint shows its instructions, then its questions, each with its number. The app marks a question as read when it crosses the reading line, so a checkpoint has a progress mark, as a deck has.

The head of each checkpoint has a reveal control. It shows the answer and the solution under each question, and hides them again.

A domain needs at least one deck. The checker refuses a domain with checkpoints and no deck (The root and the domain).