Skip to main content
Every exercise separates two things:
  • Presentation: the fragments a learner sees and the pieces they manipulate (prompt, options, tokens, pairs, blanks). These are compositions of bindings, the same as any lesson content.
  • Evaluation: how a response is graded. Correctness always refers to stable IDs or to accepted-value bindings, never to duplicated display values.
The stable core is a small set of evaluation strategies. An exercise type is an authoring and interaction template layered on top, and several types can share one strategy.

Shared shape

ChoiceOption is reused wherever an exercise offers addressable pieces: options, pair items, and tokens.

Evaluation strategies

Accepted-value bindings usually point at a field such as field_alternate_answers, so “a cat” and “cats” both pass without duplicating text in the exercise. Typed grading uses NormalizationRules for case, whitespace, punctuation, or script (for example accepting kana for kanji).

Types at a glance

select-image is mechanically multiple-choice with image-valued option bodies and an audio prompt. It is a distinct template that shares the selected-options strategy, with presentation.layout set to image-grid.

Type-specific bodies

Distractors

Distractors stay explicit for every type: options, unpaired right items, and unused tokens are all stored. Distractor queries are editor tooling only: the author selects a pool, Studio proposes candidates, and the chosen distractors are saved explicitly.

Where grading runs

Auto-gradable types resolve entirely from authored IDs, ordering, pairs, or normalized text, so Studio can preview and grade them.
speaking is different. It needs a microphone and on-device speech recognition, so recording and scoring run only in the learner application. Studio authors the target phrase and strictness; it does not record or score, and nothing is uploaded.