Open-Source Learning Management with Moodle
Currently, an explosion is occurring in the demand for distance education in the US. Large numbers of high school graduates are going on to college, and more adults are pursuing a college education. The demographics of college students also are changing, with more students juggling work and family responsibilities than ever before, which necessitates easier access to education. Furthermore, the changes in knowledge and skills catalyze the need for ongoing professional development of the existing work force. In response, corporations increasingly are turning to distance education options for their employees.
A learning management system (LMS) is a software system used to deliver on-line education. Alternate terms often used are managed learning environment, virtual learning environment, course management system or learning support system. Today, most LMSes make extensive use of the Web and include features such as discussion forums, chats, journals, automated testing and grading tools and student tracking. LMSes also are used to supplement regular face-to-face courses. They are used in universities, schools and by businesses to deliver corporate training.
Start up and maintenance costs for on-line education typically have been high, with proprietary software solutions such as Blackboard and WebCT being the dominant choice amongst academic institutions and corporations. But cost is not the only or even the prime reason to look beyond available proprietary LMS solutions. The ability to modify software is an important consideration for many institutions that need to address specific teaching and learning requirements. Others need to integrate a new LMS with existing systems.
Several open-source projects have emerged to meet the growing interest in open-source LMSes (see the on-line Resources). In this article, we look at one popular open-source LMS, Moodle.
In classic open-source fashion, Moodle was born out of a need to scratch an itch. Frustrated by proprietary alternatives, Martin Dougaimas, then a PhD candidate in Education with a background in computer science, started Moodle in 1999. Version 1.0 was released in August 2002. Since then, Moodle has continued to evolve at a rapid rate, managed by Martin in Australia and propelled by an active world-wide community of users and developers.
A single Moodle Web site can host a large number of courses. Each course is managed by one or more teachers. Courses can contain activities such as discussion forums, student journals, quizzes, surveys, assignments, chats and workshops. Moodle includes support for grading, file uploads, user logging and tracking, multimedia, e-mail integration and many other features, all comparable to those available in proprietary LMSes.
Moodle is developed on the popular LAMP platform—GNU/Linux, Apache, MySQL and PHP. Part of Moodle's attraction is it can run on almost any server that can run PHP. In addition, PostgreSQL can be used instead of MySQL. The flexible technical requirements make it possible to install and evaluate Moodle on almost any computer and even run it on shared Web servers managed by Web hosting providers. Moodle is offered under the GNU General Public License. The GPL, well-documented PHP code, an active developer community and a modular design make it possible to customize Moodle and integrate it with other open-source software. For users, all Moodle requires is a Web browser and an Internet connection.
Most LMSes are instructor-oriented and largely concerned with how course content is delivered. Moodle is based on a learner-oriented philosophy called social constructionist pedagogy, in which students are involved in constructing their own knowledge. The concepts behind this philosophy of learning are that learners actively construct new knowledge by tinkering, and they learn more by explaining what they have learned to others and by adopting a more subjective stance to the knowledge being created. These ideas run parallel to the way open-source development works, in which the developers also often are users, everyone is free to tinker with the software and code is constructed, peer-reviewed and refined by the means of an open discussion. This philosophy is the basis for the unusual name of this project. The Moodle Web site explains the origin of the name:
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment....It's also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity.
The social construction pedagogy is reflected in the design and choice of Moodle features. For example, one of Moodle's features is every course can have a glossary of terms. The glossary can be set up to allow course participants to add their own terms and definitions. Taking it a step further, Moodle allows comments to be attached to each term, enabling participants to refine and clarify these definitions.
- Geek Guide: The DevOps Toolbox
- Nmap—Not Just for Evil!
- Download "The DevOps Toolbox: Tools and Technologies for Scale and Reliability"
- High-Availability Storage with HA-LVM
- Resurrecting the Armadillo
- DNSMasq, the Pint-Sized Super Dæmon!
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- Localhost DNS Cache
- March 2015 Issue of Linux Journal: System Administration
- Days Between Dates: the Counting