Musings of an anonymous geek

January 13, 2006

Moodle Course Management: Extending the Moodle base

Filed under: Technology — m0j0 @ 12:27 pm

That’s one of my current projects at work. We were using a home-grown course management solution in the Computer Science department, because the faculty here (and elsewhere, I hear) aren’t fond of Blackboard, and they also know that there’s a good bit of in-house PHP knowledge, so we built our own at first. Unfortunately, they wanted it kinda quickly, so we (again, unfortunately) hired a student to code it. The result was not pretty, and from the very first semester we used it, we were looking for a ready-made alternative.

Around September I started playing with Moodle. Around mid-October I started hacking it, and by mid-November I had most of the required features for our department working. I had to add a new assignment type that allowed professors to specify a list of files to be associated with a given assignment, mark them as optional or not, and then accept/manage uploads of these files from the students of the course.

The learning curve involved in getting to know moodle is a little bit steep at first. It took me about a week, full time, to get to where I was comfortable that I was not only getting things to work, but that I was doing it “the right way”. Thanks to Moodle’s really nice API and uber-modular design (not only are assignments modules, but each type of assignment is yet a separate submodule, for example), my new type is able to be completely isolated from the rest of the system, while at the same time doing just about everything using only API calls.

Moodle isn’t the fastest or most feature-packed app I’ve ever seen, but the API allows for such simple extension of the base functionality that I went with it just based on that. I’d recommend it to a friend.

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: