# Learning

bitmark grew up in learning content, and it still represents quizzes as bits
in their own right: a cloze, a multiple choice or an essay sits next to the
text it practises, with its solution and feedback, and can be cited and
updated like any other bit. The reference lists every quiz type; this page
covers how quizzes are evaluated and how sample solutions work.

## Evaluation and feedback

- The evaluation button is displayed as soon as the user starts to fill out
  a quiz question (only for quiz questions with a stored solution).
- The button text follows the user's language setting.
- "Reset Answer" resets the quiz question.
- The system shows the correct solution and evaluates all inputs from the
  user.

### Disable evaluation/feedback

Evaluation/feedback of a quiz question can be disabled by setting
`[@disableFeedback]` in the bit header:

```bitmark
[.cloze]
[@disableFeedback]
The students completed the [_cloze] with the correct verb forms.
```

## Sample solutions (`example` / `isExample`)

Two rules govern marking quiz content as an example (sample solution):

1. For all quiz bits, `example` may only exist at the question or answer
   level (one or the other, depending on the bit type). It indicates that
   this question has an example answer and specifies that answer — either
   explicitly, or with boolean `true` to indicate the given answer is the
   example answer.
2. For all quiz bits, `isExample` exists at the same level as `example`,
   and at all levels from there up to the root. If the branch has an
   example, `isExample` is `true` at each node up to that question;
   otherwise it is `false`.

The pattern applies per quiz family — a gap, choice, response, statement,
pair or cell carries `[@example:…]` (or bare `[@example]`) at the position
the sample answer belongs to.

### Marking the sample answer

**Closed-answer quizzes** (cloze, multiple choice/response, true/false,
match, …) use a **bare** `[@example]` — the stored correct answer *is* the
example. Never give it a value:

```bitmark
[.cloze]
This is a multiple gap [_solution][@example][_problem]
```

```bitmark
[.multiple-choice]
[@example]
====
[+Correct Answer]
[-FalseAnswer1]
[-FalseAnswer2]
====
```

For `.match-matrix`, `[@example]` may sit at bit level or on an individual
cell.

**Open-answer quizzes** (essay, preparation-note, assignment, interview)
have no stored solution, so the example **carries the sample answer text**:

```bitmark
[.essay]
[@example:This is an example solution]
This is an essay
```
