The team at Totara, a distro of Moodle for the corporate environment, is currently developing program management functionality, most of which might be useful to Moodle core. We'll post initial thoughts here - the right spot for suggested contributions of code.
The program management feature provides the capability to define complex learning paths and assigning them to learners en masse. Administrators are enabled to create learning paths by creating sets of courses, defining dependencies between sets and controlling their order and flow. Created programs can then be assigned to a variety of sets of users.
Thinking of the common areas where this would work on a standard Moodle, we believe the specific requirements for this functionality are:
-
Ability to define complex dependencies between courses e.g. pre-requisites, order
-
Ability to define dependencies based on events and elapsed time e.g. within 4 weeks of joining
-
Ability to make courses mandatory
-
Ability to define recurrence of required completion e.g. once every two years
-
Ability to assign programs to individual learners
-
Ability to assign programs to manually created groups, which can be saved and reused for assignment of other programs
-
Ability to display programs within a catalogue
-
Ability to provide navigation through programs for enrolled users
-
Ability to automatically handle course enrolments on the basis of a learner's progress through the courses within the program. The key thing the extension does is to trigger / prevent enrolment for courses within the program for individuals.
-
Ability to generate automatic reminders
-
Ability to report on program progress (this ties into Totara’s Report Builder so we’d need to work on either bringing this into Moodle core or an alternative approach)
-
Ability to handle changes to learners while part way through a program
-
Ability to provide exception reports (ties into Totara’s Report Builder)
cheers
Richard