Gradebook

Student name

Robert Wohleb

Student's member profile on PlanetSoC

Mentor's name

Bill Fitzgerald, Marc Poris

Mentor's member profile on PlanetSoC

Anonymous

Description

Moodle is great for what it does, but too often people want to hack it to do what Drupal does best. On top of this, the Moodle API is very poor compared to the Drupal API. A Drupal based LMS (Learning Management System) would bring the simplicity and cleanliness of the Drupal API to the LMS world. The core functionality of Moodle stems from it's centralized gradebook. Implementing a Drupal gradebook module would provide a base hook for future Drupal learning modules to tie in to.

A Drupal gradebook module would provide a centralized grading system for learning type modules. Existing modules could be extended to support the gradebook. This includes generating grades based upon story submission for journalism classes or grades for completing surveys for a psychology class.

Proposal

  • Implementation of gradebook module
  • Implementation of gradebook public API
  • Implementation of gradebook frontend module
  • Extension of Quiz module to support gradebook

The gradebook should be implemented in two modules. The first module should be the gradebook core. This module will handle all data storage, validation, and calculation. It will expose a public API that allows other modules to generate grades for an assignment and provide views into the gradebook.

The second module will provide a basic view into the gradebook. Separating the project into two modules allows for future modules that provide more advanced views and functionality without having to modify the gradebook core.

Last I checked, the Moodle gradebook was under-going an overhaul. This was for a few reasons that this project will easily avoid. First, input validation was slow and CPU intensive. Javascript was used on the browser side and was not very optimal. Taking advantage of the Drupal AJAX support will minimize this problem. The Drupal AJAX support can also minimize the useability and size issues that the Moodle gradebook experiences.

The quiz module needs to be extended to support the gradebook. This modification would provide more use possibilities for the existing Quiz module while also providing a sample case for module developers.