Completion Tool

Feature Summary & Requirements

The completion tool is a tool that effectively replicates the functionality of the UI of other LMSes, and as such this document is going to be very different from the others, in that comparable tools don’t really exist directly. The functionality exists, and I’ll show some examples of that, but essentially we’ve the entire feature is essentially a hole in Open edX that is poorly stitched together - providing a basic UI element as a learning tool.

I cannot conduct much in the way of a comparison with other platforms directly, as they do not have a hacked-together button as a feature that directly compares to our current state, which is this button which does not conform to current UI standards:

Completion is something that should be baked into all tools, and ideally manual completion should be an option within the UI, not just as an XBlock.

The completion tool is effectively a problem which is worth a single point. When the learner clicks the button, they get the point. This is effectively the same as a problem asking “Have you completed this activity?” with a single correct response - “Yes”. This predates our automated completion tracking functionality, and effectively runs parallel to it, in that the only completion status that the automated checkmarks respect are that marking it complete is required for the unit to be marked complete. If the learner un-marks the unit as complete, the unit is still marked as complete.

FutureLearn

The MOOC platform FutureLearn was the original inspiration for this XBlock. As the XBlock’s original author put it:

FutureLearn uses this kind of thing to great effect. Students can read text, watch videos, etc., and indicate when their done. This is convenient both for progress indication to the student (know what they've done, and for honor code grading (indicating to us that they believe they've finished an activity).

I copied some of the UX patterns from FutureLearn so that users of both platforms would have consistency of user experience between MOOCs. I didn't copy them exactly since I wanted to be unambiguously in the clear with IP issues around look-and-feel, and this was on a short anough timeline that I did not have a chance to reach out to FutureLearn for permission. As a footnote, this kind of collaboration between MOOC providers is probably worth pursuing -- it'd be to the benefit of learners on all platforms, and ultimately, the industry as a whole if we had consistency of experience between platforms where convenient.

This is FutureLearn’s current implementation of this feature:

The Mark as Complete button appears prominently in the UI between the previous and Next buttons at the bottom of each page. Once marked, the status of the page is updated in the course outline.

This functionality is used to gate access to FutureLearn’s certificates - learners must manually mark each page of the course as complete and pass any required exams in order to attain their certificate.

Moodle

Moodle activities have manual completion as an option for each activity. Their options are:

  • Do not indicate activity completion - this will not show checks (ticks) next to the activity

  • Students can manually mark the activity as completed - students press the check (tick) to change it. (Note: they can do this even without doing the activity!)

  • Show activity as complete when conditions are met - the selected completion criteria must be met before the check (tick) will change style

The automated completion conditions are:

  • Require view - mark the activity as complete when viewed

  • Require grade - a basic grade threshold, separate from passing grade

  • Receive a passing grade - require learners achieve a passing grade, which is another optional feature

Expect completed provides learners with a to-do date, which the flags the activity completion as overdue if the date has passed.

Completion is an optional feature in Moodle that adds completion elements to activities.

Canvas

Canvas has both manual completion and customisable automated completion metrics for modules:

The manual completion measure is a simple “Mark Done” checkbox that is once again located within the UI between the Next and Previous buttons.

Ideal Version - Open edX

This feature is actually still a necessary one, as our in-built automated completion is very easy to cause to fail to track, and learners often have an issue with why units are not marked as complete, as it is in no way clear in the UI which components are causing elements to remain unchecked. This is an issue that needs its own solution, but the secondary need that manual completion fulfils is that of off-platform or untracked activities, such as discussion participation (which should be tracked), or completion of an activity in another location, such as in the real world, or on an external website (which cannot be tracked).

The ideal version of this is actually two features:

  • The ability for staff to enable manual completion in place of or in addition to automated completion at the section, subsection, and unit levels. This should effectively disable automated progress tracking, and enable a button for manual completion, or allow learners to override the automated measures using the manual button if both measures are enabled.

    • This is essentially the FutureLearn model that the XBlock was originally designed to replicate, but also accounts for automated completion.

  • A button implemented in the UI as per our current implementation in order to highlight the necessity of marking a non-tracked activity as completed.

    • When present, the regular UI button should probably not be displayed, though this isn’t strictly necessary, but it should update the UI button if it’s still present to avoid showing the learner that the unit both is and is not completed.

This essentially would allow us to mirror the functionality of other platforms while still supporting the use-case supported by the current XBlock. Regardless of this, the XBlock should match modern UI patterns, and should probably inherit brand colours to ensure that sites that change all their headings and buttons to red aren’t still providing a blue button.