Skip to content
← All help

Courses

Quizzes & exams

Quizzes are authored in quiz_content (via seeds today). Beyond the basics you can:

  • Rotate questions, set questionsPerAttempt to serve a random subset of a larger pool, so a learner sees different questions on each retake. Omit it (or set it to the pool size) to show all.
  • Shuffled options, every quiz reshuffles each question's option order on every attempt by default, so a retake never shows the right answer in the slot it sat in last time. Scoring is by identity, so rotation and shuffling never affect correctness. Opt a quiz out only with an explicit shuffleOptions: false, for the rare question whose options must keep a fixed order.
  • Add an image, a question can carry imageUrl plus a REQUIRED imageAlt (screen-reader description); it renders above the prompt. Seeding fails if an image has no alt text.

How your quizzes look to a visitor

Your course page carries a collapsed card under the standards block, How this course's quizzes are built. It counts, from the quizzes themselves each time the page loads: how many quizzes reshuffle their options, how many quizzes of 8 or more questions pass the length check (the right answer is as often a long option as a short one, so it cannot be picked out by length), how many questions link back to the lesson that teaches the answer (a sourceLessonSlug naming a published lesson in the same course), and how many explain the answer. A course with no quiz shows nothing. The card also appears on the Coming-soon page of a course still in review, as counts only.

To raise the numbers, give every question a sourceLessonSlug and an explanation, and edit option text in place so the right answer is as often long as short across a quiz (never reorder options or edit a prompt; the length guards in pnpm lint say which questions to fix). The platform owner sees every course, worst first, at /admin/quiz-integrity.

Quiz checks on your course page under Teach

Open your course under Teach. The Quiz checks section shows the same sentences the visitor's card shows, then lists each quiz of 8 or more questions that does not pass the length check yet, each linking to its lesson in the Lessons list. It reads the course as it is stored, so it checks every quiz the course holds. Rewrite option text so the right answer is as often long as short; do not reorder options or edit the question. A course with no quiz says "No quiz in this course yet.", and quizzes under 8 questions are too short to measure.

When you schedule, publish, release or vet a course with a failing quiz, the warning that lists your launch to-dos adds "N quizzes do not pass the length check yet." It is a warning, never a block: Go ahead carries on exactly as you asked.

Video tutorial scriptnot written yet

Nobody has written the narration for this one yet. It is listed here so the gap is visible rather than forgotten; an invented script would read as approved copy.