Define completion criteria
Opening a lesson, watching a video, and passing an assessment are different signals. Decide what each course requires and display those rules before enrollment. Preserve the criteria version for learners already in progress. A progress bar should describe recorded activity, not imply knowledge or competency that has not been assessed.
Keep enrollment distinct
An enrolled learner may not have started, while a completed learner may need renewed access later. Model enrollment dates, access windows, and groups independently from lesson progress. Define who can enroll others and how bulk imports are reviewed. Avoid exposing one learner’s records to an unrelated cohort through a shared reporting screen.
Design feedback and retry rules
Explain which questions can be retried and whether a later score replaces or supplements an earlier attempt. Give learners actionable feedback without leaking an entire answer bank. Accessibility matters in the actual content as well as the platform: check captions, keyboard access, readable documents, and alternatives to timed interactions where needed.
Report with context
Show the denominator, time window, and course version behind a completion rate. Separate inactive enrollments from unsuccessful assessments. Test an updated lesson, an expired enrollment, and a learner changing groups. Use certificates only when the issuing organization has defined the meaning and authorization; a generated PDF alone does not establish accreditation.
A planning guide. The right implementation depends on your system and requirements.
Talk through your next step