Linux has become mainstream in server rooms, commonplace on the desktop and dominant in mobile devices. Unfortunately, it's still a rarity in the classroom. This month, I start a column dedicated to Linux in education. Grab a desk, sharpen your pencils and join me!
LJ's newest column, the one you're currently reading, is dedicated to education. Each month, I plan to equip readers with ways to improve student achievement using freely available tools. Schools are required to function on less and less money every year, yet due to the demand for technologically proficient students, they need to spend more and more every year on technology. In turn, there is no money left to invest in training the teachers. That is one reason open-source software is such a perfect fit for education. If money is spent on preparing teachers rather than buying software, we will have state-of-the-art technology and teachers fully prepared to use it. That's why this column was born. If our kids grow up with open-source tools, they'll turn into adults who understand the difference between investing in software versus investing in people. Basically, we want to take over the world, and we want to start with the kids.
Moodle is an open-source Learning Management System (LMS) designed for students of various ages. The concept of LMS isn't a new one, and it isn't limited to the FOSS world. Many colleges are using systems like Blackboard (www.blackboard.com) to facilitate a virtual classroom environment. Blackboard offers many features, including collaboration, document management, information dissemination and even live discussions. Unfortunately, those awesome features come at a substantial price. Enter: Moodle.
Linux Journal has covered Moodle before, but it has matured so much through the years that it deserves another look. Moodle started as a little project teachers might implement in their classrooms, but it has grown into a product used at multiple universities and schools around the world.
Figure 1 shows a demonstration course set up in Moodle. Instructors can set up their “classrooms” in a variety of ways. In the Romeo and Juliet example, the instructor has given a basic outline of the class with appropriate links for downloading assignments, taking on-line quizzes and on-line journaling. Figure 2 shows a demo course on Film Studies. In this example, the instructor has broken up the class into sections (apparently, each section represents a class session). Classes can be broken up in several ways—flexibility is one of Moodle's strengths. Every instructor doesn't have to use it the same way.
Let's be honest. For most Linux Journal subscribers, this one is simple. When it comes to school boards and school administrators, the argument, “Because it's open source!”, doesn't really mean much. Certainly Moodle goes along with the traditional reasons an organization might choose open source: the initial cost is lower, the maintenance cost is lower, licensing isn't an issue, it's free, free, free and so on. But with Moodle, there are even more reasons.
Moodle was designed by teachers and made for teachers. Although certainly the commercial alternatives have large ties to the educational community, ultimately their goal is to make money. There's nothing wrong with that, but it would be foolish to assume altruism when it doesn't exist. Moodle, on the other hand, was designed fully and completely for the sole purpose of improving pedagogy. Moodle exists to bolster student achievement. Period.
This is where Moodle really shines. Students can interact with the course directly in their browsers. It means less paper waste and fewer lost assignments. It also means a single place for all course information. Resources like handouts, photos, URLs and study notes can be placed into the Moodle course and always be available to students. Some instructors simply use Moodle as an on-line repository for those types of documents and don't use the interactive features Moodle offers. Nothing is wrong with that approach, and Figure 1 shows that type of Moodle in action.
For teachers wanting to use Moodle as a more-interactive platform, there are many built-in features:
Assignments: students can upload finished assignments directly to the teacher, upload a file with comments or additional information, or even complete an assignment directly into the on-line text editor (Figure 3). The instructor decides how the assignment should be completed, and students complete it using the appropriate method. Moodle even allows assignments to be completely off-line, with no interaction from the student. They simply are listed so the student knows the assignment must be completed. Assignments are graded by the instructor, and students can see the results on-line.
Gradebook: instructors can choose to keep their gradebooks directly in the Moodle database. This allows students to see their grades at any time and also interact with other modules that can assess materials and automatically enter grades.
Chat: instructors can have “office hours” when they are available for real-time chat. Students also can use the real-time chat feature to collaborate with other students from the class. Chats can be designed to be available constantly, or they can be scheduled for specific times. If instructors aren't available, they still can go back and look at the chat log to identify areas that need more classroom discussion (Figure 4).
Forum: each course may have a forum available for discussion. Unlike chat, the forum is not real time. Like any traditional forum, a user posts questions or discussion items and waits for responses.
Surveys and polls: Moodle offers instructors the opportunity to ask their students survey questions from within the course. These surveys could be used as an assessment for the teacher, as a way to gauge the level of understanding on an upcoming assignment, or to get feedback from students on any topic the teacher desires. They also can be set to anonymous so the students aren't identifiable, or they can be set to record user accounts with responses (Figure 5).
Quizzes: Moodle quizzes are similar to surveys, but they are designed more specifically to be graded automatically. Quiz times can be specified to avoid at-home cheating, or they can be left open for students to take at their leisure. The multiple-choice nature of Moodle quizzes makes grading automatic, so students see their results immediately.
Wikis: each course can have a wiki that students are able to edit collaboratively. This wiki might contain information gathered from multiple groups that needs to be shared with the class. Every enrolled user can edit the wiki, so it's truly collaborative.
Workshops: assignments are set up as direct communication between students and instructors. With the workshop module, students can participate in peer reviews and assessments. Instructors can design specifically how students can respond to assignments in the workshop module, so although it is a peer assessment, the process still is guided by instructors. Figure 6 shows an example of a possible workshop, with some criterion for the users to assess.
Site design: the classroom features mentioned above are the meat and potatoes of using Moodle. The Moodle course itself can be tweaked and modified as well, however, to make the site as useful as possible. The layout for the course page is designed using blocks. Anyone familiar with content management systems like Drupal or WordPress will understand the concept of blocks. Figure 7 shows the default layout of blocks in a newly created course. Blocks can be added, deleted and moved around. The function of available blocks varies from calendars to quiz results, and it includes the ability to embed Flickr photos or YouTube videos right into the Moodle page.
Installing Moodle is a breeze. The current stable version, at the time of this writing, is 2.2. In order to install it, your server needs to have PHP 5.3.2 or higher, MySQL 5.0.25 (or Postgres 8.3) and a Web server. That's really about it. Any recent server distro with a LAMP stack will be able to run Moodle pretty easily out of the box.
If you're not interested in installing Moodle onto a server, a few VM appliances also are available to download, although you might not find one with the latest version of Moodle installed. My recommendation for those desiring a VM of Moodle is to install a Linux VM, then install the most recent version of Moodle on top of it. It will take a little more time, but you'll have more control over the install, and you'll be assured of the most recent version.
The actual installation is pretty simple. You are required to create an empty database for Moodle to use and a data directory with write access. Once that is in place, simply extract the archive to your Web root, and point a browser to http://your.moodle.site/install.php. The installer will populate your database and walk you through initial configuration.
Moodle has tiers of management, so all the responsibility doesn't fall on a single administrator. Anyone logging in as administrator has full access to every aspect of the system, while individual users in the Manager role can be limited in what permissions they have. A few sysadmin items must be configured by whoever is in charge of those sorts of things—for example:
Authentication: Moodle can be completely independent and store user login information in its own database. This has the advantage of working without interfacing with an established infrastructure, but it has the same as a disadvantage: it doesn't interface with the existing infrastructure. Thankfully, Moodle has extensive support for external authentication, and some of those things can be configured with minimal knowledge of the network. For example, Moodle supports authentication from IMAP or POP3 servers. That means any user with a valid e-mail account can log in to your Moodle server. Moodle also supports more complex authentication schemes like LDAP, and in Linux, it even supports PAM authentication from the local server.
Course creation: administrators (or managers with the proper permissions) create a course and then assign an instructor to be in charge of it. Once a course is created, instructors can configure it in whatever way they desire, including adding content, changing layout and so on. Instructors also can decide how students can enroll in their courses. Students can be added manually; they can be given a code that allows them to join, or they even can gain access to a course via PayPal payment.
Server management: this is the only part that really requires a sysadmin to manage. System backups, security settings, performance tweaks and other server-related tasks are done by the administrator. Some of these roles can be assigned to manager accounts, but at some point, the server maintenance leaves the realm of Moodle administration and enters the domain of the IT department. This responsibility line obviously will be different for every case. It's possible for Moodle to be centrally administered and accessed over the Internet for multiple locations. It's just as possible for teachers to run Moodle on their classroom workstations and administer it for their single class. The important thing is to determine in advance who will be in charge of what aspects of administration.
You've seen Moodle and what it can do, but the power of open source isn't just in free code. A huge community of Moodle users is providing plugins, pre-packaged assignment modules, themes and countless other enhancements for Moodle. Here are some great on-line resources for teachers interested in implementing and enhancing Moodle:
Moodle Docs (docs.moodle.org): this Moodle-hosted wiki is a collaborative effort to document every aspect of using Moodle. Whether you're an administrator trying to configure a secure install or a teacher trying to add a quiz to your course, the Moodle Docs site is invaluable.
Moodle Plugins (moodle.org/plugins): Moodle offers an extensive number of features in the standard install, but it also allows for third-party plugins to enhance courses. The official repository for plugins is hosted on the Moodle.org Web site. You can find pre-packaged assignments, alternate course layouts, visual themes and additional blocks to customize your Moodle site or individual course. Once you become a Moodle user, you may want to contribute back to the community as well.
Course Exchange (moodle.org/course/view.php?id=15): many Web sites share complete Moodle courses, but this particular exchange is hosted on the Moodle.org servers. There are direct links to downloadable courses and lists of Web sites offering courses to download. In true “eat your own dog food” style, the Course Exchange is actually a Moodle course open for enrollment. You can enroll and participate in the Exchange.
Moodle Share (www.moodleshare.org): this third-party Web site offers an extensive selection of courses available for download. Many of the courses were designed by Minnesota District 287, using funding from ARRA Grant Funds. Hats off to District 287 for sharing its resources! (Figure 8 shows a freely available lesson from Moodle Share.)
Commercial Support (www.moodle.com): although Moodle itself is free in every sense of the word, there is a commercial side as well. That doesn't mean Moodle comes crippled or feature-stripped, it just means that commercial support is available if required. The moodle.com Web site offers links to vendors that can host a Moodle install, offer support for existing installs, train on the use of Moodle or even become certified in Moodle itself. Again, these commercial options don't offer any “Pro” features to Moodle; they're just available if customers need them.
The world we live in is one of on-line collaboration, 24-hour interaction and digital communication. Heck, you're reading this right now on a digital device, or you printed it from a digital source. Moodle is a perfect example of open-source ideals succeeding in regular, everyday life. The first step toward an Open Source world is to get kids excited about open-source tools. Hopefully, the next steps will take care of themselves.
Note: all images in this article are from www.moodle.com.