Aditya Nag
May 24th, 2005

This article was first published on

Distance education is becoming more important in today’s connected world. Universities and schools are supplementing traditional classroom-based learning with electronic learning management systems (LMS) — software designed to deliver on-line education. You may know such software by other names, such as managed learning environments, virtual learning environments, or course management systems. Moodle is the definitive open source learning management system. Like most LMSes, it make extensive use of the Internet, with features such as discussion forums, chats, journals, automated testing and grading tools, and student tracking. Because it’s open source, it’s also broadly extensible by its large user community.

Moodle is the brainchild of Martin Dougiamas, who designed the program while working on his Ph.D. at Curtin University of Technology, Perth, Australia. Dougiamas was working on his dissertation, which was on the socio-constructivist approach to learning, and developed Moodle in PHP as a tool to illustrate this approach to education. Moodle is programmed in PHP.

The requirements for Moodle are modest. You need to have installed:

  • Web server software: Apache is preferred, but Moodle works under any Web server that supports PHP, including Microsoft Internet Information Server on Windows platforms.
  • The PHP scripting language (version 4.1.0 or later).
  • A working database server. MySQL or PostgreSQL are completely supported and recommended for use with Moodle.

Moodle is available as a small download, less then 10 MB, in both .tgz and .zip formats. Installation is simply a matter of unzipping the package in a Web-accessible directory and then running the installation script through a Web browser. The documentation on Moodle’s Web site is easy to follow and lists the steps in detail. It took me a little less than 10 minutes to install the software.</wbr></wbr>


Once you have Moodle installed, you carry out all regular administrative activities through a Web browser. When you log in as the administrator, you have access to administration links. The Configuration link opens up a control panel that allows you to control all aspects of the Moodle site. Every setting is well-documented and illustrated by examples.

To begin using Moodle, start adding Courses. Moodle provides three course formats: weekly, topics, and social. The weekly format is suitable for courses organized into weekly activities. The topics format is suitable for courses organized into topics instead of weeks. The social format is organized around a single discussion forum. Of course, as the administrator, you can simply define a Course name and assign a teacher, who can then set up the course in the way best suited to his class.

As a sysadmin, that’s about all that you need to do. Moodle is extremely easy for students and teachers to use, thanks in large part to the excellent documentation provided, which covers all aspects of the software. The Moodle Web site itself runs on Moodle, and has an active user community.

Moodle comes with more than 15 modules for various activities, such as discussion forums, chats, assignments, journals, quizzes, glossaries, multimedia file uploading, and surveys. There are many more user-created modules available on the Web site. To install a module, you copy its files into a subdirectory. If the module comes with additional language packs, you also need to copy the language files under the lang subdirectory. Once the files are in place, you configured a module through the Web-based control panel.

You can automate backups through the control panel too. You can choose to omit various files, such as large log files or MP3 files. Teachers can make backups of their courses as well. Backup files are in XML format, which is an open format, so you won’t lose control of your own data.

You can choose between various themes to customize Moodle. Creating new themes is simple, and documented. Moodle also supports many languages; the version I downloaded supported 47 languages, and adding more is often just a matter of downloading a language pack from the Web site.

The software is already widely deployed. The Moodle Sites page listed 3,127 Moodle sites from 116 countries on my last visit, and many internationally renowned universities are among them. In fact, Moodle has gained a strong reputation in academic circles as the best open source LMS available.

Often, managing an LMS is complex for an untrained user. Moodle is an exception. In a survey conducted by Moodle, 65% of users were found to be teachers or professional educators, and not IT professionals.

To test its ease of use, I asked teachers at my university to use Moodle. None of them are what you would call geeky. There were some problems, but after I pointed them to the documentation, they were able to solve the problems themselves and start using Moodle effectively. The results convinced me that non-technical users can use Moodle.

Moodle has many great features, but there are some problems with it as well. Based on my reading of posts on the forums, some teachers feel that Moodle is lacking in some things as compared to commercial counterparts such as Blackboard. It is notable, however, that many times a request on the forums for a particular feature is followed up by someone providing a module that implements that very feature. This is entirely due to the large community of users who actually work with Moodle in the real world. Due to the open source nature of Moodle, they are able to add the features they want, and share them freely with other educators.

If you need professional support, the commercial arm of Moodle,, provides links to companies worldwide that provide commercial support.

There are many advantages to setting up a learning management system in both academia and industry. Any organization that needs to teach people can use a LMS. Does your company routinely train new employees, or conduct refresher classes for old ones? You could use an LMS to add to your regular courses. Being able to learn at one’s own pace makes an LMS extremely useful, especially for professional workers who may find it difficult to find time for regular classroom and lecture-based methods. You don’t need to be in academia to benefit from Moodle.