Vol. 8. No. 2 M-2 September 2004
Return to Table of Contents Return to Main Page

Moodle: A Virtual Learning Environment for the Rest of Us

Author:Martin Dougiamas
Contact Information:http://moodle.org
Product type:Course management system
Platform:Any platform with Apache, PHP and a database system such as MySQL installed

Virtually every educational institution has by now adopted a Virtual Learning Environment (VLE) or CMS (Course Management System) for use either as an adjunct to its traditional courses (often called a "blended" or "hybrid" course system), or as a tool for its distance education program. The 'big players" are WebCT and Blackboard, both of which are expensive to license and which are rather rigid in the ways that they can be used.

Enter "Moodle"—an open-source system—which is not only free but also highly adaptable. Schools are quickly discovering that they can save thousands of dollars by implementing Moodle, and then spending a small portion of the money saved to program it to work precisely the way they and their instructors want it to. Moodle, however, even used "as is" provides a rich selection of features that often surpasses those of other systems.


Moodle is the brainchild of Martin Dougiamas, who designed the program while working on his Ph.D. at Curtin University of Technology, Perth, Australia. He developed it as a tool for his dissertation which was on a Socio-constructivist approach to learning. Thus Moodle originally excelled in features which supported this approach to education, in particular through its very user-friendly discussion forum layout that includes mug shots of the participants as an aid towards "community building'. Dougiamas programmed Moodle in PHP, a programming (or more strictly, "scripting') language that can create web pages based on user input and data-based information.

The Moodle Support Network

Early on Dougiamas established http://moodle.org as a site for user interaction and support. The site is one of the most active and useful sites that this writer has experienced. It isn't unusual for as many as 100 new users to enroll daily to make use of the various "courses" and "forums'. Discussion areas are available for each major feature of Moodle as well as for those under development and testing. There are also courses for users of Moodle in 40+ languages and dialects, and a "Teachers" Hands-on Playground" where teachers can take full control and experiment with Moodle's features. Click on the blue information symbol for login information. [-1-]

While Moodle's interface is much more intuitive than its for-fee counterparts, there are times when users require help. With a user base situated around the world, it is common for posters to receive help within a matter of hours, regardless of the local time of day. While there is a FAQ section for "Frequently Asked Questions" and a search function to locate earlier responses to similar questions from the site's database, there are times when a human response works better. In my own two years of association with Moodle, I have witnessed numerous cases where people have not only given help, but have also created new computer code to help a user modify a current feature or create a new one.

Overall Layout

A typical Moodle course looks somewhat like Figure 1, although all elements on the page can be modified, repositioned or deleted. Typically, there are "blocks" on either side containing special functions, with the core set of learning blocks in the middle. These core blocks can be labeled automatically, either numerically or with sequential weeks.

Figure 1
A main course page in Moodle

One essential difference between Moodle and WebCT or Blackboard is that all course elements are presented in a "flat view," e.g., there are no "Chinese boxes" with content inside folders at various levels. The teacher can easily, however, hide specific sections when required. Elements can be moved up or down with two clicks of the mouse. Figure 2 is a view of the same course with the editing turned on. [-2-]

Figure 2
A main course page with "editing turned on"

Moodle's Merits

Some of Moodle's virtues have been alluded to already. Now let us take a closer look.


Moodle is built in a very modular fashion. New functions can be created and activated merely by dropping them into the site's directory where all of the plug-in modules are stored. Additional languages can be added in a similar fashion. There is a constant flow of advice on the Moodle.org site on how to tweak the code to turn off a specific display element or add a new one. New functions and tweaks to old ones that are of lasting value often find their way into future versions of Moodle. [-3-]

Interface languages

When a user logs on, there is a dropdown menu from which he can select an interface language. Once set, that language choice remains unless another language is selected. Nearly all European languages are now available, as well as the major non-European ones such as Arabic, Chinese, Hebrew, Indonesian, Japanese, Korean and Turkish. These language modules have all been created by volunteers, who take the English-language translation files as the base and then translate the 1000+ terms into their own language. Any text that has not been translated into the selected language is rendered in English by default.

Record-keeping, Logs and Tracking

Moodle logs every click that students make for navigational purposes. For activities, such as quizzes, not only the score and elapsed time are available, but also a detailed analysis of each student's responses and item analysis of the items themselves. Teachers can easily get full reports of the activities of individual students, or of all students for a specific activity.

Features useful for Language Learning

The quiz-making function: Moodle's built in functions allow you to make different types of quizzes. Quiz types relevant to language teaching are: Multiple choice, True/False, Numerical, Matching, Description, and Cloze

A wide range of options allows you to randomize the questions and multiple-choice items, specify a time frame for availability, choose whether the students receive feedback or not, decide if they are allowed to view the correct answers, and determine how many times they may take the quiz and how it is to be scored (first attempt, highest attempt, average of all attempts or last attempt). Quiz items can be imported from text files in a number of specified formats, and from WebCT or Blackboard's proprietary formats. A newly developed timer allows quizzes to be taken under strict time limits — excellent when you want a "quickie quiz" to assess how well your students have reviewed recent material.

Moodle gives thorough feedback on the most popular quiz types. There are two levels: "Simple Statistics" and "Detailed Statistics", as shown in Figures 3 and 4 below. The data displayed for individual students is also downloadable as a .txt or .xls file.

Figure 3
"Simple Statistics" quiz report

Figure 4
A composite of parts of the "Detailed Statistics" report

Hot-Potatoes (http://www.halfbakedsoftware.com) is a very popular authoring program that allows teachers to create browser-based activities. While "HotPot" activities can be linked as resources within Moodle, one problem until now has been the tracking of student use — an important feature if one wants to know who has or hasn't done the activities and with what degree of success. Thanks to Moodle's modular structure, this writer has been able to author a "HotPot" module which overcomes this problem. Hotpot activities can now be integrated into Moodle with full reporting; teachers can view their students" scores, time started, and lapsed time. The module is available from Moodle.org at http://moodle.org/download/modules/.

Sound files in .mp3 format can be uploaded and integrated into both standard quizzes and Hot Potatoes files using a Flash-based player or placed on the main page as a standalone clickable file. See the "Moodle for Language Teaching" course at http://moodle.org/course/view.php?id=31 for further information. [-5-]

Discussion Forums: A common component of all CMSs is the discussion forum or "bulletin board" feature which allows the students to interact with their instructor and the other students on specified topics. Moodle differs from many systems in that its messages are not only archived in the course but are also sent as e-mail to the student's registered e-mail address as long as the student has subscribed to that specific forum. (When setting up a forum, the instructor can force-subscribe all students when necessary.) This overcomes one major problem with messaging systems—out of site, out of mind. With Moodle, students will always know when new, relevant messages have been posted (as long as they check their e-mail regularly).

The indented structure of the messages shows clearly which message is a response to which. Figure 5 shows part of a discussion in the "Moodle for Language Teaching" forum at Moodle.org.

Figure 5
A sample of the discussion forum structure

A "Hide Until" feature for discussions is slated to appear with the next version (1.5) to overcome a major problem with traditional discussion forums. With many topics, the first one or two messages often "cover the base" leaving the other students with little to say beyond, "I agree". The "Hide Until" feature allows the instructor to hide all contributions from the other students for a specified length of time, after which they become available to all. This allows all students to respond without being predisposed by the comments of others. Once made available to all, the students then have a second task—to synthesize the comments and build upon them.

The Lecture Feedback Module, created at Sapporo Gakuin University, and available as an extra "plug-in module" comes in handy in classes where attendance taking is difficult or where the students are reluctant to provide feedback on what they have not fully understood. Using the module set-up routine, the instructor prints out attendance slips for each lesson, each with a unique code. These slips are passed out to the students at the beginning of the lesson. After the lesson, the students log on to the course, input their code to register their attendance, and then provide feedback to the lecture based on whatever question(s) the instructor has posed. My standard prompt is "Please mention any points in today's lecture that you didn't understand completely or any points that you would like discussed in more detail." This feedback then allows the instructor to review the requested items at the beginning of the next class. If the instructor wants to create a printed handout summarizing student comments, there is a button to automatically categorize the comments. This helps sort points and output data that can be quickly selected and formatted for distribution. The student feedback can also be graded from a pull-down menu in order to encourage useful feedback from the students.

The Lesson Module allows you to provide information to the students in small chunks, ask a comprehension question about what they have just learned and then conditionally branch out depending on their response. It can be used for stepwise lessons or even as a set of "flipcards" where students review items answered incorrectly until all the items have been correctly answered. They can repeat the process if the instructor has permitted multiple passes through the lesson.

The Journal Module is a place for each student to keep a learning diary, or to respond to other stimuli specified by the instructor. The student can then refine the response over time. [-6-]

The Assignment Module allows students to submit a file for assessment and feedback from the instructor. A comment box and a pull-down menu for a grade can be used for feedback.

The Attendance Module permits automatic attendance-taking for students with activity during the stipulated time periods, or by physically clicking on the attendance module each class period. The instructor can even specify a grade value for attendance figures, with appropriate adjustments for tardy attendance.

The Questionnaire Module, currently under development, will provide an excellent tool for eliciting student opinions for further discussion either online or in class.

File Submissions: A full file management system is currently under development. This writer has, however, been able to create a simple file submission and retrieval system ("To teacher" and "From Teacher" folders), which allows both students and teacher to access files over the Internet. For my own writing classes, I find this is preferable to the "Assignment Module" because all submissions can be easily 'zipped' and transferred to a file area on my own computer for checking and feedback. The files can then be returned to the "From teacher" folder in Moodle so that the students can retrieve them. I have simply required students to include their student ID number in their file names. This is also their Moodle account ID, so Moodle will only show files to each student bearing his or her own ID, affording a modicum of privacy.

Implementing Moodle

Moodle can run on virtually any machine, Windows, Macintosh OSX or Unix, as long as the following are installed: 1) an Apache web server, 2) the page generation freeware, PHP, and 3) a database application, usually, but not limited to MySQL. Applications exist for all platforms and are listed under "Installing Apache, MySQL and PHP" at http://moodle.org/doc/.

One caveat: After you have set up Moodle and used it successfully with your own students, resist the temptation to invite the other instructors in your school to use it. You may soon find yourself running into slowdowns or freeze-ups. For production use, you will want to invest in a dedicated server that handles Moodle and nothing else. In my experience, available memory and processor speed are the two factors that must be considered for volume use.

For the faint of heart, there are a number of providers that provide Moodle pre-installed and ready to run. See the commercial arm of Moodle, Moodle.com, for a list of "Moodle Partners" who will handle hosting, upgrades, and even custom coding of new features. Many web hosting services offer "Fantastico" on their user control panels which allows the installation of many popular applications, including Moodle. See this description on Hosting Zoom's site for further details.


After having taught online courses for a number of years using WebCT and Blackboard, I fell in love with Moodle at first sight. I have now been using it for about two years for both distance learning courses and as an adjunct to my courses at my university including classes conducted in a computer lab as well as some courses based in a traditional classroom. I no longer had to wait for my institution to install a workable CMS; I could just go out and do it myself. [-7-]

To cover all of Moodle's features would make this article excessively long and, by the time the article went to press, it would probably no longer be current. As with most software, there are more features available than any one user is likely to use, but the best feature of Moodle is that it can easily have every feature you want as long as there is someone around willing to program it.

About the Author

Thomas N. Robb, Faculty of Foreign Languages, Kyoto Sangyo University, has been Chair of TESOL's CALL Interest Section (2000-2002) and is a frequent presenter at international CALL conferences. He is the creator and webmaster of a number of websites including Oxford University Press's Passport Online, the Extensive Reading website and the Student List Project. He is Co-Editor of TESL-EJ.

Thomas N. Robb
Kyoto (Japan)

© Copyright rests with authors. Please cite TESL-EJ appropriately.

Editor's Note:

Dashed numbers in square brackets indicate the end of each page for purposes of citation..
Return to Table of Contents Return to Top Return to Main Page