Virtues of Moodle

In my view, further to other more generic factors, the stand-out features of Moodle in terms of power and options are the Quiz activity and the Gradebook. Each of these is so useful that it could be decisive when you come to choose Moodle as the best learning platform. This is not to say that either of them are at some kind of endpoint. There are many suggestions for enhancements to both features, as you can see by consulting the Moodle Tracker.

Quiz and Gradebook are also great examples of how successful open source projects, such as Moodle, keep going forward on the basis of contributions from the community of users and developers. Whereas commercial software tends to get stuck on standard lowest-common-denominator solutions, Moodle allows users to freely adapt the software to their own purposes and contribute these solutions back to the wider community.

The subject of this article is an excellent case in point. Let me explain.

Limitations of the Gradebook

The Moodle Gradebook offers a range of grade aggregation methods, including addition (Natural grading) and Weighted mean of grades. We can also use bespoke calculations with a wide range of trigonometric and mathematical functions. But until recently there has been no option for aggregation with conditional logic. Consider an example. There may be a course grade item that is so important that students must pass this item to pass the whole course, whatever their other grades. This might be a final exam, for example. Students often perform worse in final exams than in continuous assessment tasks. If that is the case, they might obtain good grades for course projects but fail the final exam. The overall aggregation might give a pass grade for the course, even though a student has failed the final exam. How could we make a course grade conditional on passing the final grade?

The short answer is that until very recently this was impossible (without resorting to complex formulae with MIN, MAX and ROUND). Historically, Moodle has not supported conditional logic in the Gradebook.

For teachers who have previously used a spreadsheet to calculate grades, this restriction can be a frustrating limitation. Indeed, this Moodle feature was requested as long ago as 2009 and possibly even earlier. What happened?

The community steps forward

It turns out that the professional Moodle team of programmers did not provide the requested functionality. And the years went by. This situation is easy to understand. While conditional aggregation may be a key feature for some users, it is not for most. Meanwhile, there are literally thousands of pending improvements requested for Moodle at any one time.

So it was that a Moodle specialist at the Universidad de Valladolid (in Spain), Juan Pablo de Castro Fernández, took matters into his own hands. He posted his solution in the Moodle Tracker on 9 February 2018 and there was an immediate positive response from other active Moodlers, in particular, Luca Bösch, and after going through various standard Moodle quality assurance processes his code was incorporated into the next web version of Moodle 3.6, released on 3 December 2018, thus becoming freely available to the worldwide community of Moodle users.

How does Moodle highlight this feature?

I head up a small Teaching Support Unit at the University of Vic – Central University of Catalonia. (This article is in our blog.) Whenever teachers ask us about conditional aggregation of grades, we tell them that the Moodle gradebook does not support conditional logic. And we were right, until April, when the IT unit upgraded our platform to Moodle 3.6.

I found out about the new Gradebook conditional logic quite by chance in July, when I was asked once again about this functionality and I thought I’d better look it up. I put something like

conditional grade calculation Moodle

into a search engine and found this dialogue, where I learnt that this is a new feature in Moodle 3.6.

Why hadn’t I seen this earlier, when this is functionality I am interested in?

It passed under my radar, as the result of a combination of factors, principally the following:

  • There are so many new features in each Moodle release that it is impossible to notice everything.
  • The Moodle team cannot highlight every single enhancement. There are too many. For instance, the Moodle 3.6 new features highlights page does not include it. Neither does the YouTube playlist of new features. It is mentioned under Other highlights, Functional changes in the Release notes for Moodle 3.6, but that list is VERY long!
  • Users that are interested in certain features should vote for them and follow them in the Moodle Tracker. In this case, I didn’t do that. If I had done so, I would have been notified in a timely manner of the new feature.
  • Moodle documentation of the new feature is rather sparse.

This last item is something we can all help to remedy, since Moodle documentation is created by the worldwide community of users. Let’s take a closer look at this aspect.

Moodle documentation

In June 2018 Juan Pablo de Castro proposed some changes to the documentation of Calculation functions in the Grade calculations wiki page, but the change turned out to be premature and was subsequently undone. Subsequently, in the Moodle 3.6 documentation, these changes were partly reintroduced but without much prominence, appearing in the middle of a long alphabetical list of functions. The new feature is appropriately highlighted at the top of the 3.6 Grade calculations page but there is no example of its use:

I’ve just edited the page, adding Juan Pablo de Castro’s original example, putting it online for all Moodle users.

So many good things in Moodle!

A worked example

To round things off, and because a picture is worth a thousand words, here is a video clip of a simple example of the use of conditional grading logic in Moodle.

Let’s all enjoy this (nearly) new feature! Thanks, Moodle! Thanks, Moodlers!