Quantcast
Viewing all articles
Browse latest Browse all 49206

Course Builder for Drupal

I came across Learnable recently and they had a neat course builder that I thought would be an excellent feature for Drupal to have. To get a clearer picture of the description below, it would be a good idea to check their site, I think.

This module will allow users to create a structured, interactive online course, manage subscriptions to the course, track performances and schedule lesson delivery.

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 implicity 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).

Level of Difficulty

Medium

Mentors

Looking for mentors

About me

My name is Amarnath Ravikumar and am a final year Computer Engineering undergraduate from the National University of Singapore. I have been working with Drupal on and off for the past year and a half (on web projects here) and have benefited immensely from the excellent documentation. I never had the chance to give back though and that was the motivation for me to kickstart this project as it allows me to do exactly that and through a field I have an personal inclination toward i.e. Technology in Education.

You can reach me best through email at amarnus@gmail.com. I also tweet.


Viewing all articles
Browse latest Browse all 49206

Trending Articles