Going to Class with Moodle Open Source Courseware


Moodle is a free software virtual learning environment–it can be used to create stand-alone online tutorials, training courses, or integrate with classroom-based education. It is implemented in PHP and can run on a variety of Web servers and databases, and is designed to interoperate with common authentication, enrollment management, and content management systems found at higher education institutions.

Moodle is similar to proprietary commercial courseware systems like Blackboard or WebCT. The project began at Curtin University in Australia and has always served the college and university market, although it is increasingly popular as a stand-alone system used for corporate training and free online tutorial programs. Moodle is used in more than 200 countries, including more than 10,000 sites in the United States alone.

Moodle is currently maintained by a team of volunteers, although the core member of the project raise funds to further development through Moodle consulting, training, and certification programs.


Moodle is designed to handle large numbers of both users and simultaneous courses–as one would expect to find at a secondary school or university. Site administrators, teachers, and students all have different privilege levels that can be adjusted on a per-course basis.

Teachers can maintain course content in traditional read-only forms (incorporating media of any type), activate interactive resources such as wikis and forums where students can interact, and create assignments and quizes. Teachers also have control over the presentation of each course to the student, including hiding and unhiding content and features. Courses can have fixed start and end dates, and course materials can be configured to be visible only at certain times. A sample course can be seen in Figure 1.

On the administrative side, Moodle supports multiple enrollment methods, from basic self-enrollment to integration with an external student database. For courses requiring a fee, plugins are available to tie Moodle in to external services like PayPal, which might be preferable for stand-alone Web projects not tied to a school or university billing system.

Teachers can grade assignments and quizzes directly within Moodle, aggregate and average grades per-course, and export grades in multiple data formats. The available export formats include XML, which administrators can then use to tie in to external grading systems or databases.

Moodle can be configured to work directly with enterprise LDAP authentication, other general-purpose content management systems, and applications that comply with IMS Global‘s distributed learning standards. The interface is available in more than three dozen languages, and course content can be managed in any character set.

Web Server Requirements and Installation

Moodle is developed on Linux using the Apache Web server, but is verified to run on Mac OS X, Windows, and Solaris, and other operating systems, and supports any Web server that can run PHP. It is also designed to use MySQL as its database, but supports PostgreSQL, Microsoft SQL Server, and Oracle.

If you want to install Moodle on your own server, first look to see if your Linux distribution provides pre-built packages; many do, especially those that cater to server (as opposed to desktop and laptop) usage. If not, you can grab the latest packages from the Moodle Web site and follow the official installation instructions.

If you use a commercial Web hosting service, Moodle may be available as an automatic install option for your domain. Several popular hosting control panels, such as cPanel, include autoinstallation scripts for Moodle alongside other common Web packages like WordPress or MediaWiki.

Further Study

Moodle is a very flexible system, with a broad user base. You can take a look at a running Moodle installation courtesy of the live demo on the Moodle project’s Web site, but the best way to get experience with it is to install it on your own machine and begin working with courses, users, and content. The online documentation is thorough and geared towards new users. When you need to delve further into the system, the project maintains online support forums in several languages, and specialized forums for business and teaching users, specifically.

Moodle Partners is a collective group of contractors who can offer individualized support, ranging from help administrating a Moodle installation to training for teachers on how to use Moodle to create courses. It even offers a “Moodle Course Creator” certification program in twelve countries. The Moodle community has also written many books about the system, including help for course creators, administrators, and software developers interested in writing plugins and extensions for Moodle.