Course sequencing allows for instructors to define a learning path through a given curriculum. It allows the course creator to define pre-requisite conditions between courses that are enforced by the LMS.
With Moodle 2 completion dependencies can be defined for a course, whereby course B can only be marked complete if course A is complete. Unfortunately this is not a true pre-requisite as the learner can start course B without completing A. Functionality in Moodle to allow true pre-requisites to be defined by the course creator is highly sought after by the Moodle community.
Over the last year Enovation has set out to overcome this shortcoming and offer true pre-requisite definition within Moodle.
Taking up the Challenge
In the Summer of 2012 Enovation started to look at how pre-requisites could be defined between courses. The first attempt of this was to define course pre-requisites in the course settings page.
A new settings section was added to define course pre-requisites.
The image below shows the new settings section and how pre-requisite relationships were defined between courses.
This enhancement required amendments to the Moodle core code and after consultation with the community a new approach using an enrolment plugin was developed. To read in detail about this work, please have a look at one of our previous blog posts - http://www.enovation.ie/blog/2011/06/course-prerequisites-in-moodle-2/
The enrolment plugin did not allow students to self-enrol in a course until they had satisfied a pre-requisite condition. Defining pre-requisite conditions using the enrolment plugin meant there were no changes to Moodle’s core code. While it was a powerful feature it was time-consuming and complex to define course paths. To overcome this we decided to develop a diagram editor tool for defining course paths.
A simple notation was defined to allow course creators to define a course path through pre-requisite conditions on courses. This notation consisted of two types of ‘gates’ and a course notation. Gates either had a ‘1’ or ‘ALL’ above it indicating whether all courses coming into the gate needed to be completed or just one before the learner can enrol in courses coming out of the gate provided.
The diagram to the right illustrates the ‘ALL gate’ where course 1 and course 2 must be completed before the learner can enrol in course 3
The Moodle plugin for course sequencing is a powerful tool for the course creator allowing them to define a course path through a given curriculum.
Our plans for Diagram Editor
The next steps for diagram editor are as follows:
- We need to make the code as robust as possible
- We want to add a sanity check which will basically check, for example, that no course is impossible to reach
- Release to the community
- Other possibilities to start looking at then would be a diagram editor for creating lessons, sequencing topics/activities within courses, allowing for activities to be dragged and dropped on to course icons.
We would be very interested in your idea on how to develop diagram editor further, please let us know in the comments.