This module will allow users to create a structured, interactive online course, manage subscriptions to the course, track performances and schedule lesson delivery.
I came across Learnable recently and they had a neat course builder that I thought would be an excellent feature for a Drupal-based LMS website to have.
Description
Let us assume users can have two different roles: that of a course manager and a student.
Content
A course can be viewed as an array of lessons strung together and each lesson is in turn a list of steps. Each step is a Drupal node from an allowed set of content types (article, video, audio, file etc.). Steps, just like the pages of a Drupal book, have a sequential relationship between them as do lessons and can optionally have a quiz (see Quiz)
Overview
A course has a overview page that has a lesson plan similar to a Contents section of a wiki and an link for students to subscribe to the course. The lesson plan gives the student choosing to opt for the course a clear picture of what lies ahead. Optionally, we may allow granular subscription wherein a student only subscribes to certain lessons of the course. Of course, this will be subject to the approval of the course manager.
Scheduler
A course manager is allowed to schedule lesson delivery to students automatically. Using rules, she is also allowed to specify the criterion for delivery based on certain preset conditions (eg. results of a quiz from a previous lesson).
Students are implicitly subscribed to lessons should they choose to take a course and get notified every time a lesson is available for viewing. Can be implemented using the Notifications framework.
Quiz
A lesson/step is accompanied by an optional quiz the results of which can be tracked by the course manager and can also be used to control access to the next lesson. This quiz can be implemented using the existing Quiz module or a light-weight, feature-poor equivalent of the same for a start.
Gradebook
Allows both students and teachers to keep track of the quiz scores over the term (duration of a course). Again, the help of the Gradebook module may be sought. Scores can be used to publish "certificates" on completion of the course based on preset rules.
Additional (Optional)
A UI widget that allows the course manager to easily re-order lessons before publishing the course.
A course management portal where a course manager could keep track of all courses currently created.
Use Cases
The features of the course builder listed above do not limit the context of its application. Therefore, it could potentially be used in any Drupal installation should the need arise for the site owner to host and manage courses.
(a) Allows a course manager to easily create a structured course with interaction (quizzes), schedule its delivery to subscribed students, manage subscriptions and keep track of student performance (optionally).
(b) Allows a student to view all courses available on the site, subscribe to select ones, view personal gradebook and be notified when new lessons are available for viewing in any of the subscribed courses.
What’s in it for Drupal?
A course builder would be a key component of any online learning management website and therefore, I hope this module would be a valuable addition to Drupal’s LMS arsenal alongside Quiz and Gradebook.
Timeline
As most of the features to be implemented are available independently either in the core or through the contributed modules, I feel a large chunk of the work involved will be in wiring these pieces together.
-
Prior to May 24:
(a) Evaluate work involved in Quiz integration -- (1) -
May 24 - 31st:
(a) Get familiar with using Drupal’s GIT repo.
(b) (Content) Allow students to subscribe to a course (an abstract entity, say, a node), allow course creator to approve and manage subscribed students and also to edit Welcome email -
June 1 - June 18:
(a) Work on creating the sequential relationship between lessons (drawing inspiration from the core Book module. -
June 19 - July 12:
(a) Work on adding a quiz to a lesson based on evaluation done earlier. -
July 12
(a) Midterm submission -
July 16 - August 2:
(a) Add Gradebook integration + 1 optional feature -
August 3 - August 16:
(a) Add Scheduler + 1 optional feature -
August 17 - August 20:
(a) Wrap up, document, test and add final report.
Deliverables
A Drupal 7 version of the course_builder module that meets the use cases listed above and includes all the features under Description that has an administration UI and can be easily extended. (I understand that not all of the dependent modules mentioned above have a stable Drupal 7 version as of this writing. I admit I still need to figure this part out).
About me
My name is Amarnath Ravikumar and I am a final year Computer Engineering undergraduate from the National University of Singapore. I have been working with Drupal for the past year and a half (on web projects here) and not only did I have a chance to learn quite a bit from the code but have also benefited immensely from the excellent documentation.
Although I have written custom modules for Drupal, I never had the chance to give back to Drupal or the community and that was the motivation for me to propose this project as it allows me to do exactly that and in a field I have an personal inclination toward i.e. Technology in Education.
I have not contributed to an open source project before but have my personal projects up at http://github.com/amarnus. You can reach me best through email at amarnus@gmail.com. I also tweet. My Drupal profile is at amarnus.
Links
- GSOC Proposal Page, http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/suitu...
- Drupal Project Sandbox Page, http://drupal.org/sandbox/amarnus/1120114
- Github Personal Projects Page, http://github.com/amarnus/
Comments
D7 Gradebook
MGN and I have not had a chance to do any work on a D7 port of the Gradebook modules. We are both pretty bogged down at the moment. I can't speak for MGN, but I think we'd both be very open to any help and feedback in that regard.
As for mentors, I'd ping the people at Funny Monkey. Bill Fitzgerald was my mentor during the original Gradebook development.
http://drupal.org/node/140070
Thanks, @rwhohleb. Would be
Thanks, @rwhohleb. Would be helpful to know if Bill (or any of the other folks at Funny Monkey) think this is an idea worth mentoring =)
Thanks, @rwhohleb. Would be
Thanks, @rwhohleb. Would be helpful to know if Bill (or any of the other folks at Funny Monkey) think this is an idea worth mentoring =)
I'm interested!
I'm a student, and I'd absolutely love to work on this project. I have a lot of experience with Javascript, and could easily do the PHP, too. It would be really cool to see course management in Drupal, hopefully would make it a more viable CMS alternative for schools. I know I'm tired of my University using RedDot for CMS!
Gr8 idea
Let me know if I can develop any module that can complement your own!
Not sure whether this fits
Not sure whether this fits (just saw your link on the New Modules feed, but haven't read everything):
http://eduglu.com/
What happened to this idea?
Did this idea get started? We're really interested in it.