Skip to content

Add whole-assignment attempt policy - #54

Open
vosslab wants to merge 1 commit into
LibreTexts:masterfrom
vosslab:whole-assignment-attempt-policy
Open

Add whole-assignment attempt policy#54
vosslab wants to merge 1 commit into
LibreTexts:masterfrom
vosslab:whole-assignment-attempt-policy

Conversation

@vosslab

@vosslab vosslab commented Jul 26, 2026

Copy link
Copy Markdown

Summary

This PR adds an opt-in whole-assignment attempt policy to ADAPT.

Instructors may retain the existing per-question model or require students to answer every question as one complete attempt.
Attempts can be limited or unlimited, and the highest completed score is retained.

Pedagogical purpose

The goal is to support mastery-based practice. Students complete the entire assignment, review immediate feedback, and then
start a new attempt. When algorithmic variation is enabled, WeBWorK and IMathAS questions can provide fresh problem variants,
encouraging students to learn the concepts rather than memorize answers.

Implementation

This PR includes:

  • Instructor controls for selecting the attempt policy.
  • Student attempt status, completion feedback, and retry controls.
  • Additive database migrations and attempt-history records.
  • Protection against duplicate and stale requests.
  • Focused Feature-test coverage.

The feature is disabled by default, so existing assignments retain their current behavior. Native, WeBWorK, and IMathAS
questions are supported; H5P and open-ended questions are not.

Screenshots

Instructor configuration: Select whole-assignment attempts and set the number of allowed attempts.

Whole-assignment attempt policy settings

Attempt in progress: Students see the current attempt and remaining attempts.

Whole-assignment attempt in progress

Completed attempt: Students see their score and can start another attempt.

Completed whole-assignment attempt

Mastered assignment: The completed native-question workflow retains the student’s highest score.

Mastered native-question assignment

Testing and feedback

I tested the instructor and student workflows locally in Docker.

Please feel free to reach out with questions or concerns. I will try to attend LibreTexts Office Hours on Tuesday and would be
happy to demonstrate the workflow or discuss the implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant