Moodle Assignment module redevelopment – mid-term report

Creative Commons licensed via Flickr user Fling93The last few months have been an interesting and exciting time at work, with several new Moodle universities (the University of Western Australia, Flinders University and Macquarie University) going live with Moodle for the first time, but equally so because of the work I’ve been lucky enough to lead in redeveloping the core Assignment module. The Assignment module redevelopment will add in some new features in the short term, but more importantly it will redesign the underlying code to allow for far more enhancements going forward.

This has been interesting for a number of reasons, but in particular because this will be the most significant input to core code that NetSpot have made to date, and hence I thought it was worthy of a blog post.

Let me first thank the contributors to this project without whom this would not have happened, namely:

  • The consortium of Universities who are contributing to the design, testing, documentation and some coding of the development, namely the University of Canberra, Flinders University, the University of Southern Queensland, La Trobe University, Massey University, and most recently the University of New England (hope I haven’t left anyone out there);
  • The NetSpot Innovation Fund, which is providing the financial backing to make this project a reality;
  • The team at NetSpot, including Damyon Weise, Victor Herrera, Minh-Tam Nguyen, Ashley Holman and Raymond Wijaya, who have all played a role in getting us this far;
  • Martin and the team at Moodle HQ for helping to guide us through the process of contributing something this significant to Moodle; and finally
  • The Moodle community for providing feedback throughout the process.

So what are the changes?

To explain the changes, you first need to know that the existing Assignment module has been in line for an upgrade by Moodle HQ for a while now, and hence a necessary prerequisite to the enhancements to the module was a rebuild of the underlying code. These ‘foundational changes’ include doing away with the existing four subtypes of assignment (online text, simple upload, advanced upload and offline) in favour of one single assignment type with settings which can be tweaked to cover all of the existing options. You can see the Assignment settings layout in the new module in the image below – note that this will reduce the confusion over ‘what kind of assignment should I use’.

Settings in the new Assignment module

These ‘foundational changes’ are almost complete, and are already being reviewed by Moodle HQ ready for inclusion into Moodle 2.3, which then brings us to the good stuff – enhancing the Assignment module features.

The enhancement work actually commenced last year, when Flinders University funded a series of improvements with NetSpot which were considered critical for their release this year. These changes were successful enough to get a write up in Computerworld, which was quite neat for all concerned.

It is worth mentioning here as well that, although the changes are being driven and funded by a consortium of Universities, part of the deal with Moodle HQ is that any changes we make will be generic enough to be used by anyone using the Assignment module, or not used at all if they are more geared to specific use cases (which tend to relate to improved management of very large numbers of assignment submissions in the University context).

Part of the upgrade includes the merging of these changes into the new Assignment module, which the team are already working on. Some of these changes include:

  • The option for a teacher to require students to acknowledge a submission statement, such as a statement of authenticity that the work is their own;
  • The option for a teacher to turn on student receipt emails, which send a confirmation email to students when they have satisfactorily submitted their assignment;
  • Individual and group assignment extensions, similar to what is available for quizzes (with thanks to Tim Hunt);
  • Team based assignments (or ‘group assignments’), where one student submits an assignment on behalf of their team for assessment;
  • ‘Blind’ marking, where students and teachers are made anonymous to each other in the marking process; and
  • Decimal marking for assignment grades, rather than integers from a drop down list, a long standing, contentious deficiency in Moodle for many years!

Most or all of these changes will be targeted for Moodle 2.3, with all still on track (subject to positive reviews of the code by Moodle HQ) to make it to the early April deadline for code to be released in core Moodle in July.

Decimal marking for assignments - yeehar

Another more technical, but extremely powerful, change will be the introduction of web services to the assignment module. In layman’s terms, this will allow the Assignment module to share information with external systems, such as the Moodle mobile application, or with any number of electronic marking tools – with Lightwork being the prime example.

This is, however, the thin edge of the functional wedge. There are a range of other potential enhancements which could be made in future now that the foundational changes are in place, some of which have been listed in the development documentation for the changes.

Where to from here?

The old saying goes that nothing is certain except death and taxes, and similarly there is no guarantee that all of the enhancements listed above will make it into the 2.3 release, however we are doing everything we can to work collaboratively with the HQ team to give ourselves the best chance to get as many of these changes in by the deadline. You can keep an eye on the progress of these changes, and show your support for their inclusion in core, by watching and voting for the relevant items in the Tracker. Beyond that – we will start to look for more funding sources to implement the next round of enhancements, which we’ll target (with the blessing of HQ) for Moodle 2.4 at the end of this year.

Thanks again to all involved, I’m looking forward to watching the evolution of the new Assignment module as it makes its way into core and starts to kill off a few long-standing issues with this extremely popular module.