Course Completion for 2.0

Course Completion for 2.0

by Jonathan Newman -
Number of replies: 22
For a very long time, organisations have expressed the need for a way to track when a student has completed a course. For inclusion of this feature in 2.0, I've elaborated on a spec that MartinD started last year, found here:

http://docs.moodle.org/en/Development:Course_completion

I really need your criticism/feedback/suggestions in the next week. Please add your comments to either in this discussion, or the spec's talk page.

The development of course completion is being supported by New Zealand's Tertiary Education Commission as part of the overall NZVLE framework. Richard Wyles from Flexible Learning Network is the Project Leader on behalf of the Open Polytechnic and a consortium of Industry Training Organisations. Software development is being led by Catalyst IT.

Average of ratings: Useful (1)
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Basically very good. Seems to do what people have been asking for.

However ... You asked for it! ... detailed comments follow.


1.Do we really need a separate admin setting for course completion, as opposed to activity completion?

If they are going to be separate, I suggest "Enable tracking of which activities in a course have been completed" and "Enable tracking of which courses have been completed". Longer, but clearer, I think.


2. I don't think a single big form is the best UI for 'Course completion settings'. Instead, have a page that displays an (initially empty) list of criteria. That is, a list of Each criterion has an edit and delete icon next to it, and then have an "Add new criterion" button at the bottom. Add and edit could pop-up a little form (like adding a random question to a quiz in Moodle 2.0). Actually the same page could be used for both teachers configuring, and students viewing their progress. Just show the appropriate things based on capabilities. I know you want a block for students, but I think a block should be an additional UI option for viewing completion, in addition to a separate page.

My proposal works better if you want to allow 'course completion rule' plugins. Of course, you need the choice of aggregation rule somewhere on the page too. It would also let you have the notifications information on the same page, rather than a separate tab.


3. "Units" is not a good name for that aggregation rule. "Set number" might be better. And it could be "Proportion" instead of "Fraction".


4. "
Manual completion by" should not have a list of roles with checkboxes. It should use a 'moodle/course:markotherscomplete" capability.


5. Using the user context to let people outside the course mark someone as complete seems unprecedented to me. I'm not saying it is bad. Actually it is good. Just need to think if it opens a can of worms ... no. I don't think it does.


6. Why does the screenshot under "
Completion progress report" seem to show some course completion columns on the left and some on the right?


7. Also, I would like to see some details of how you will structure the code, will completion criteria be modular in some way? Making them full plugins might be overkill, but will, say, each type of criterion be a separate subclass of a course_completion_criterion base class? What will that classes API be like? Will it be easy to add another one?

That will probably do for now wink
Average of ratings: Useful (1)
In reply to Tim Hunt

Re: Course Completion for 2.0

by Chardelle Busch -
Picture of Core developers
I'm a little concerned about this section:

Activity settings

If activity completion is enabled and activity completion is a criteria for course completion, then all activity completion settings will be locked once a student has completed the course. In this case, unlocking an activity's completion settings will require deleting both the activity's completion data and the course's completion data.

How will this affect courses that are re-taken regularly or re-used?

Will you also be adding an option to each activity ( or code that can be added to the certificatesmile) to lock that activity until the course is complete?

Offhand I don't have any other comments until I can actually test it out. Are you planning on putting it in head?
In reply to Chardelle Busch

Re: Course Completion for 2.0

by Jonathan Newman -
Hi Chardelle,


How will this affect courses that are re-taken regularly or re-used?



By "re-taken courses", do you mean a "student" could complete the course more than once? Is pointing the student to a different "refresher course" (similar content, but different introduction/content based on that fact that the student is retaking the course) an alternative? If not, we'd need to allow multiple course completions for a student. This sounds a bit like how mod/scorm manages multiple attempts. How would you describe the workflow / user story for this in standard Moodle?

For "re-used courses", is using backup and restore a viable strategy for re-using a course?

I've considered how to allow more flexibility without locking the criteria, however, I think it would require a bit too complexity for an initial release. We'd need to store all of the course completion criteria and activity completion criteria with each student's record of completion (i.e., to preserve the completion criteria). Again, this sounds similar to how SCORM permits changes to questions, by allowing all the question data--question type, question id, correct response--to be stored with each student response and the result. Allowing settings to be changed without locking also makes reporting a bit harder. I'll put some more thought into this, however I think it is probably out of reach for the initial release.


Will you also be adding an option to each activity ( or code that can be added to the certificatesmile) to lock that activity until the course is complete?



I was thinking of creating a how-to add course completion support akin to:
http://docs.moodle.org/en/Development:Conditional_activities_Adding_module_support
In reply to Chardelle Busch

Re: Course Completion for 2.0

by Deleted user -
Hi,


How can i get a tick mark in the course completion. Please help me
Attachment course.JPG
In reply to Deleted user

Re: Course Completion for 2.0

by Aaron Barnes -
Hi Lavanya,

Is it possible the cron is not running? Course completion is marked by the cron so it's not instantaneous and will not work if the cron is not running.

Hope that helps,
Aaron
In reply to Aaron Barnes

Re: Course Completion for 2.0

by Deleted user -
Hi Aaron Barnes,
Thank you for your kind reply

I think the course completion is not related to cron what you w're talking.

Here are the list of activities i have, If a student tries to finish all the activities under a course, a tick mark should happen in the course completion. I need the exact settings done.



Please help me
In reply to Tim Hunt

Re: Course Completion for 2.0

by Jonathan Newman -
Hi Tim,

Thanks for you comments! My responses to each:


1.Do we really need a separate admin setting for course completion, as opposed to activity completion?

I considered this quite a bit. I thought there might be a case in which an admin might not want both features turned off or on. For example, an admin might want to allow tracking of activity completion within a course, but does not want course completion enabled because the course final grade (relative to the course passing grade) is sufficient for the organisation's specific needs. To me, that's not a very strong case. The more I think about it, it makes sense to use one "Enable completion tracking" setting on the site level.


If they are going to be separate, I suggest "Enable tracking of which activities in a course have been completed" and "Enable tracking of which courses have been completed". Longer, but clearer, I think.

I think these would be perfect for the setting descriptions, which appear along with the more brief settings names on the "Advanced features" site admin UI. We would still need setting names though, and "Course completion tracking" and "Activity completion tracking" might need to be it.

I'm curious about what non-developers Moodle users/admins think about two settings versus one setting.


2. I don't think a single big form is the best UI for 'Course completion settings'. Instead, have a page that displays an (initially empty) list of criteria. That is, a list of Each criterion has an edit and delete icon next to it, and then have an "Add new criterion" button at the bottom. Add and edit could pop-up a little form (like adding a random question to a quiz in Moodle 2.0). Actually the same page could be used for both teachers configuring, and students viewing their progress. Just show the appropriate things based on capabilities. I know you want a block for students, but I think a block should be an additional UI option for viewing completion, in addition to a separate page.

I agree, the proposed UI is too overloaded.

Last week I mocked up a "criteria builder" much like what you describe. It needs a bit more work. It is based on Thunderbird's Message Filter UI, which--as you describe--"starts empty" (actually it starts with an example filter) and let's you "add new criterion". When I pitched the "criteria builder" concept to Matt Clarkson (showing him the message filter), he kindly reminded me that I'm a developer, and these kinds of builder interfaces appeal to developers. I think there might be some middle ground, however, and the builder interface concept could work with enough contextual guidance. I'll finish up my mock up of the builder UI and perhaps we can get some input/votes from some non-developers teachers and admins on the two UI options.


My proposal works better if you want to allow 'course completion rule' plugins. Of course, you need the choice of aggregation rule somewhere on the page too. It would also let you have the notifications information on the same page, rather than a separate tab.

I like the idea of allowing 'course completion rule' plugins! I hadn't considered that, and go about adding that to the code structure proposal.


I struggled a bit with how to add in the aggregation rules to the UI, and visually represent the aggregation scheme across the enabled criteria. I'll put more thought into it, and when I've got the mockup done, I'm sure a lot input from the community will help.


3. "Units" is not a good name for that aggregation rule. "Set number" might be better. And it could be "Proportion" instead of "Fraction".

Those are actually aggregation terms in the proposed Draft Standard for Learning Technology - Simple Reusable Competency Map, which is of course still a draft standard. They might make sense for use within the schema, but--I agree--not for the UI. Perhaps "Percentage" is better than "Fraction."


4. "Manual completion by" should not have a list of roles with checkboxes. It should use a 'moodle/course:markotherscomplete" capability.

Do you mean let the UI directly set the 'moodle/course:markotherscomplete' capability for each listed role? That would make it easier for a course creator. Otherwise, s/he would need to go to the course role overrides page to set the capability for each of the roles in the course.

I agree "Manual completion by" should be a capability and not a separate setting. I was thinking that the checkbox would set the capability, but--agreeing with you--it would probably be much better to make the actual function being performed explicitly clear in the UI.

Setting a capability in a UI other than existing role UIs seems unprecedented to me. If we were to go that route, I think it would be best to make UI for that fieldset are look/feel consistent with the current roles UIs.


5. Using the user context to let people outside the course mark someone as complete seems unprecedented to me. I'm not saying it is bad. Actually it is good. Just need to think if it opens a can of worms ... no. I don't think it does.

I can't yet think of a case where it would cause an issue either.


6. Why does the screenshot under "Completion progress report" seem to show some course completion columns on the left and some on the right?

Good point. They should probably really be all on the right of "Activity completion". There weren't any great reasons why any of the course completion criteria be set before all activities. I've updated the screenshot to show the new positions.

I think it might also make sense to remove the "Mark complete" column, and add the checkboxes under the column heading of the role of the user viewing the report (if obviously there is a "Manual completion by" criteria for that role. For example, when a teacher views the report, the "Teacher" column heading would appear as "Teacher (mark complete)" and the column would contain either a checkbox or a check icon (the checkbox if the student hasn't been marked complete by a teacher in the course/group; the check if the student has already been marked complete by a teacher in the course/group.

Just a side note: I also added a "Select all" and "Deselect all" buttons (consistent with other Moodle UIs) to the screenshot.


7. Also, I would like to see some details of how you will structure the code, will completion criteria be modular in some way? Making them full plugins might be overkill, but will, say, each type of criterion be a separate subclass of a course_completion_criterion base class? What will that classes API be like? Will it be easy to add another one?

I'll update the spec with details about code structure asap.
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Barry Oosthuizen -
Hi Jonathan,

This is what we've been waiting for!

Is it possible to not have activity names displayed vertically? Maybe by wrapping the text or truncating it to keep it from growing too wide? Or using tooltips?
(we usually have more than 30 activities in a course). Or if you must save space this way then how about inclining the activity names to be more readable?

We want to be able to see at a glance who has not attempted which activities in a course (without seeing the ones that were attempted). I'm thinking about tweaking a user report to do this. Maybe you have something similar planned?
In reply to Barry Oosthuizen

Re: Course Completion for 2.0

by sam marshall -
Picture of Core developers Picture of Peer reviewers Picture of Plugin developers
To note - the part of the report that displays activity completion is already present in Moodle 2.0 HEAD, so you can try it out right now. It is the course completion bit that is being proposed for new development.

(Jonathan: Since I didn't comment on this yet I should probably say that I agree with the proposals! And with some of Tim's points - but I don't have any major problems with it, looks great as far as I'm concerned.)

As for the completion progress report, if you normally have more than 30 activities then you really need them to be displayed vertically or it will be a nightmare of horizontal-scrolling!

Truncation causes its own problems - you can't truncate it very short or you tend to end up with a million activities with the same name ('Activity' or 'Week' or 'Quiz' or whatever). And wrapping has the same issue - you can't always wrap things tightly because people tend to use long words.

The checkboxes also look a lot neater if all columns are the same narrow width. smile

That said, the clever 'vertical display' feature only works in Firefox [requires SVG support] - so you can see it horizontally by using another browser. And this is a bit experimental really - I think the vertical display makes it work better except on courses where you have very few activities (e.g. 4), but opinions might differ. Perhaps it might be removed before release.

I didn't build a 'who has not completed which activity' report as requested, but you can download the information from the current progress report as a CSV spreadsheet file for use in Excel or other spreadsheets, from which you should be able to extract other information. It would of course be possible to build an additional custom report alongside this existing progress report - the code is fairly simple, as you should see (course/report/progress). If you want to try experimenting with this right now, you can, because the activity completion feature already exists - just not the course-level completion features. Of course it might be safer to wait until the whole thing is complete before trying to mess with it...

--sam
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Stuart Mealor -
Hi Jonathan
Great to see this project progressing.
I think the completion report is going to be hugely beneficial in the business and commercial training space.
I need some more time to look through the detailed specs, and look forward to trialling this on one of our test sites smile
Stu
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Kyle Chumas -
This would be an invaluable tool for my companies ability to give definitive results to our customers about their activity and completion of a course. If they could be based on quiz and test grades as well as the amount of time an individual spends in the course that would be ideal. I havent looked at your link but I will now....
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Ebenezer Le Page -
This will be very useful.  In commercial settings we also often require a course to be re-taken say annually for continuiing professional development purposes so may I add a plea for some functionality such as a "re-take date" field that could be defined as 365 days after completion (to be populated on that event) or any such relative interval or fixed calendar date.  This may well be a higher request outside the scope of what we have here but you can see my point that we are having to customise reporting on dates when activities are completed in order to deduce compliance, ie, "did this happen in last 365 days?" or display "who will need to retake in next 30 days?". 
In reply to Ebenezer Le Page

Re: Course Completion for 2.0

by E. L. Cooper -

I would like to throw my hat in here that surveys and questionnaires be supported in completion.

In reply to Jonathan Newman

Re: Course Completion for 2.0

by Chad Outten -
Thanks to Jonathan for your work on this and the various supporters. The spec looks excellent - I almost fell off my seat upon first read! Will definitely be of great benefit to many organisations needing to know if their learners have infact successfully completed a course. The variety of criteria to flag course completion should cater for many use-case scenarios. Seems to gel nicely with the aims of Conditional Activities and Gradebook. I look forward to test driving it! Chad
In reply to Jonathan Newman

Re: Course Completion for 2.0

by Kathleen Edelman -

I've been running the course completion tracking for my students using activities and it seems to be working mostly well, but when I have downloaded their progress into the Excel version, there were no 'titles' of each of the activities, so it is pretty difficult to work out which activity was which.  Could you please tell me how to fix this?

Thank you.

In reply to Jonathan Newman

Re: Course Completion for 2.0

by sohail aslam -

In course completions specs there is a section "Notifications" which says when enabled it will notify the student/teacher that course has been completed.

Is this functionality has been implemented or not?

I am using course completion status block but can't see any settings for notifications.

In reply to Jonathan Newman

Re: Course Completion for 2.0

by sameh Ahmed -

Could you please give me a direct link to download the Course Completion plugin for moodle 2.

Thanks a lot!

In reply to Jonathan Newman

Re: Course Completion for 2.0

by Shirley VerStraete -

Absolutely love the screenshot of the Completion progress block. This is exactly what our customers are asking for!

By looking at "Activities complete" together with "Course Grade" a more accurate picture of exactly what the Course Grade means.This is over and above what Gradebook offers and is sorely needed.

Providing this data gives Teachers (and any Adbvisors involved) an excellent idea of which students need to followed more closely.

Looking at Tracker I see this continues to be steadily worked on in development. It is greatly appreciated!

Thank you!

In reply to Shirley VerStraete

Re: Course Completion for 2.0

by SVI eSolutions -

Hi, I'm trying to see in which Moodle table we can see that a course is completed but failed if not all conditions were met. I have 5 conditions and on the completition status display with the student names I can see if the have passed certain activites, for those who have passed everything the graph shows that the course is complete but not the others ... How can I see that it is complete but failed? For example if I permit a quiz to be done 3 times and the result is still a fail, the course should be failed.


Thanks for your help!

In reply to SVI eSolutions

Re: Course Completion for 2.0

by Aaron Barnes -

Hi,

Unfortunately course completion does not have the concept of "failure". It is meant to indicate a course has been completed, rather than "passed" or "failed". In course completion you are either "completion", or "in progress".

Hope this helps,
Aaron