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.
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
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.
Will you also be adding an option to each activity ( or code that can be added to the certificate) 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?
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 certificate) 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
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
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
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.
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?
(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.
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
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
Stu
I would like to throw my hat in here that surveys and questionnaires be supported in completion.
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.
Hi Kathleen,
THere is already an open bug for in the tracker (http://tracker.moodle.org/browse/MDL-26806) which I will look into now for you.
Thanks for the report,
Aaron
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.
Could you please give me a direct link to download the Course Completion plugin for moodle 2.
Thanks a lot!
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!
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!
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