Moodle

August 11th, 2009

I’m trying something new this semester. My school offers WebCT/Blackboard (I’m not sure which is the current name) for all classes, and while it has gotten the job done in the past I’ve never been overly happy with it. The interface is a little bit clunky in addition to being, well, a bit ugly (not sure if it offers themes or something similar that my school chooses to not utilize). It also lacks the flexibility I’ve become accustomed to in other sites I maintain, which is a nice way of saying I’ve become spoiled by hosting my own apps and having full access to their inner workings. It’s just a comforting feeling to know I can go in and dork around with the code if I need to.

There was a thread on http://teachingopensource.org/ about commonly used teaching apps and one of the more common ones I saw mentioned was moodle. Moodle is an open source, PHP based course management app, similar to other apps I’ve really liked working with (Wordpress, phpbb2, gallery2, etc.). A new database and some edits to the Apache conf files later, I was up and running.

So far, I’m really happy with it. The install was pretty painless and typical for this sort of PHP based app (enter database information, add config.php, that sort of stuff). The UI is a bit intimidating at first, but there’s a pretty sweet context sensitive help system in place that I found myself using pretty frequently.

It supports a lot of the things you’d expect to see in this sort of site. I can post quick news items, events to the class calendar, and lecture notes (assuming I actually prepared for lectures and didn’t just pull them out of my ass when I got to class). I can add assignments with much of the control I came to like in WebCT, such as setting a date when the project becomes available and a cut off time after which submissions will no longer be accepted. I’m still toying with the idea of allowing projects to be done in pairs this semester and I think that would be supported as well.

One area I love is the grade tracking. Again, it took me a little bit to get my bearings, but once I did I realized I can ditch the spreadsheet I’ve used in the past in favor of moodle. For example, it was pretty painless to set up the grade book to calculate the average of all quizzes, automatically drop the lowest one (that’s just an awesome feature, good job guys), and then weight that average as 20% of the final grade. One extra benefit of that is that each student’s current grade is always calculated and visible to them, a level of transparency I’m really happy to see. Oh, and that calculation can be set to ignore grades that haven’t yet been entered yet, so the participation grade I don’t enter until the end of the semester won’t be reflected as a giant zero for them over the course of the semester. Pure awesome.

The only drawback is also one of the benefits to my situation: I’m hosting it myself. So I can’t rely on the (what I hope is) strong backup strategy the university would provide. Not that I don’t have faith in my own backup scripts… :)

My biggest recommendation to anyone looking to try it out is to set up two sites. I’m keeping one around as a test site to try new things on and see how they work. That way, I can have some sample student accounts I can log in as to try things out (it should be mentioned that even when logged in as an admin you can have moodle show you only what a student would see, so it’s not like this step is entirely necessary). Of course, you may be able to alleviate a lot of this hands-on testing by, ya know, reading the documentation. But where’s the fun in that?

It should be an interesting experiment. Not that I want anything to go wrong with it, but it would make for an interesting open source example to my students if I was able to go to the moodle developers directly and ask for help.

One Response to “Moodle”


  1. mbooth

    > My biggest recommendation to anyone looking to try it
    > out is to set up two sites. I’m keeping one around as a
    > test site to try new things on and see how they work.

    Any IT admin worth his salt should be doing this with absolutely every application he maintains on his network as standard operating procedure. ;-)