Skip to content

Quiz Module

The Quiz module is an interactive activity module that allows instructors to create assessments with auto-grading capabilities. This module type is ideal for tests, exams, quizzes, and other assessments that need automated scoring.

Quiz modules enable instructors to create assessments with 10 distinct question types, 7 scoring configurations, and support for both single-page quizzes and multi-section exams. The system uses TypeScript discriminated unions extensively for type safety and stores all configuration in a rawQuizConfig JSON field.

Quiz modules are interactive modules that require user participation and track submissions. They support:

  • 10 question types: From informative articles to interactive whiteboards
  • 7 scoring configurations: Simple, weighted, rubric, manual, partial match, ranking, and matrix scoring
  • Two quiz architectures: Regular quizzes and container (nested) quizzes for multi-section exams
  • Visual quiz builder: Drag-and-drop interface for creating quizzes
  • Auto-grading: Automatic scoring for objective questions
  • Timed assessments: Set time limits for quizzes
  • Attempt tracking: Monitor student attempts and performance

Quizzes support two distinct structures that are mutually exclusive:

Contains a pages array directly with questions organized across multiple pages:

  • Single continuous quiz experience with one optional global timer
  • Linear navigation through pages
  • Questions are organized into pages for better organization and user experience

Contains a nestedQuizzes array for multi-section exams:

  • Each nested quiz has independent timer and grading configuration
  • Sequential or free-order access control via sequentialOrder boolean
  • Allows instructors to create complex exams with multiple sections
  • Each section can have its own settings, timing, and scoring

The system supports 10 question types with distinct input mechanisms:

  • article - Rich text content (TipTap editor) for providing context or instructions
  • multiple-choice - Radio buttons with options for selecting one correct answer
  • short-answer - Single-line text input for brief responses
  • long-answer - Multi-line textarea for longer written responses
  • fill-in-the-blank - Multiple inline text inputs for completing sentences
  • choice - Checkbox group for multiple selections
  • ranking - Drag-and-drop list using @dnd-kit for arranging items in order
  • single-selection-matrix - Radio buttons in table layout for selecting one option per row
  • multiple-selection-matrix - Select dropdowns per row for multiple selections in a matrix format
  • whiteboard - Excalidraw canvas with auto-save for drawing-based responses

Quizzes support 7 scoring configurations using discriminated unions:

All-or-nothing points for questions like multiple choice and short answer. The student either gets full points or zero points based on correctness.

Partial credit with three modes:

  • All-or-nothing: Full points or zero (like Simple but with weight multipliers)
  • Partial-with-penalty: Partial credit with penalties for incorrect answers
  • Partial-no-penalty: Partial credit without penalties

Links to a rubric for manual grading. Used for subjective questions that require instructor evaluation.

Instructor assigns points manually after reviewing the student’s response. No automatic scoring is applied.

Text matching with configurable threshold and case sensitivity. Useful for short answer questions where exact matches aren’t required.

Points awarded based on correct order:

  • Exact order: Full points only if all items are in the correct order
  • Partial credit per position: Points awarded for each correctly positioned item

Points per row with configurable modes:

  • Each row can have its own scoring configuration
  • Supports both single-selection and multiple-selection matrices
  • Flexible scoring based on row-level correctness

Instructors create quizzes using a drag-and-drop interface:

Single scrollable list with page breaks:

  • Questions and page breaks can be reordered via drag handles
  • Inline editing of prompts, options, and scoring
  • Visual organization of questions into pages

Tab navigation for nested quizzes:

  • Create and manage multiple nested quizzes (sections)
  • Each tab represents a different section of the exam
  • Configure independent settings for each nested quiz
  • Drag-and-drop reordering: Easily rearrange questions and pages
  • Inline editing: Edit question content, options, and settings directly
  • Real-time preview: See how the quiz will appear to students
  • Question type selection: Choose from all 10 question types
  • Scoring configuration: Configure scoring for each question type

To create a quiz module:

  1. Navigate to your course or module library
  2. Click “Add Module” or “Create Activity”
  3. Select “Quiz” from the module types
  4. Choose between Regular Quiz or Container Quiz (for multi-section exams)
  5. Use the visual quiz builder to add questions and configure settings
  6. Configure scoring for each question using the appropriate scoring type
  7. Set timing and attempt limits if needed
  8. Save as draft or publish when ready

When creating a quiz, you can configure:

  • Time limit: Set a maximum time for completing the quiz (global timer for regular quizzes)
  • Nested quiz timers: Each nested quiz in a container quiz has its own independent timer
  • Time warnings: Notify students when time is running out
  • Auto-submit: Automatically submit when time expires
  • Open/Close dates: Control when the quiz is available
  • Unlimited attempts: Students can take the quiz multiple times
  • Limited attempts: Set a maximum number of attempts
  • Single attempt: Students can only take the quiz once
  • Attempt scoring: Keep highest, latest, or average score

For container quizzes:

  • Sequential order: Force students to complete sections in order (sequentialOrder: true)
  • Free order: Allow students to access sections in any order (sequentialOrder: false)

Quiz modules follow the standard module lifecycle:

  • Draft: Quiz is being created; visible only to creator and granted users
  • Published: Quiz is ready for students; visible to enrolled students
  • Archived: Quiz is preserved but no longer active; hidden from students

When creating quiz modules:

  • Choose the right architecture: Use regular quizzes for simple assessments and container quizzes for multi-section exams
  • Select appropriate question types: Match question types to the learning objectives being assessed
  • Configure scoring carefully: Choose the scoring configuration that best fits each question type
  • Use the visual builder: Take advantage of the drag-and-drop interface for efficient quiz creation
  • Set realistic time limits: Allow students enough time to complete all questions thoughtfully
  • Test your quiz: Preview and test the quiz before publishing to students
  • Review scoring settings: Ensure auto-grading configurations are correct for objective questions
Learn more about module statuses and module management.
Ask DeepWiki
Contribute Community Sponsor