Moodle is a popular CMS that is specifically designed to help educators create effective online learning communities. It is a Web-based platform-independent application that runs with PHP, a SQL database like MySQL, and a Web server like Apache. Its main functions include course management and content management. Educators create a course profile and then add activities and content to their course schedules. Course management includes settings like a schedule of events, access privileges, grades, attendance, and course backups. Content management includes dozens of gradable activities, such as forums, chats, and journals, a question bank to store questions for exam creation, resource management for informational documents like syllabi, and project instructions.
Why use Moodle?
One reason I recommend Moodle is because it provides a full variety content of activities that teachers can add to a course. Moodle has more than 100 gradable activity modules and plugins such as chats, forums, and tests. While other gradable modules, such as flashcards, podcasts, LAMS, and galleries, are not included in the standard package, they can be installed as modules later. Moodle also allows administrators to back up and restore courses. Once created by a teacher, a course can be reused in subsequent years with little effort.
Another reason to recommend Moodle is because of its philosophical foundations. Moodle is designed with a social constructionist philosophy, a belief that people actively construct new knowledge as they interact with their environment, and that learning is more effective when you're constructing something that others experience. In other words, collaborative learning and discovery are at the foundation of this CMS application. You may not agree entirely with this philosophical foundation -- I do not -- but educators in the sciences and in the humanities can accept much of this philosophy since the social constructionist philosophy lies somewhere in between the strict qualitative and quantitative extremes.
Moodle has more than 150,000 registered users in more than 160 countries. The high number of collaborative users indicates an active project with many developers, colleges, and schools contributing suggestions, modules, themes, and plugins. The active user base also results in easier access to help. Moodle has online help (documentation and forums), and third-party groups have created Moodle help sites.
Moodle can also function as a tuition collection system. Moodle managers can set a standard price for an entire curriculum and for individual courses. Schools can decide on an enrollment system that includes tuition collection using authorize.net or PayPal. Institutions with existing tuition systems can still take advantage of Moodle's other enrollment systems, whether the personal and payment data is stored in an LDAP system, an external database, or in flat files. Moodle also has an internal system for managers with no established enrollment system in place yet.
Still another benefit of Moodle is its interoperability. Moodle teachers and course developers can import data from a number of proprietary systems, including WebCT, Blackboard, and Examview, and Moodle works with protocols such as FTP, RSS, and WebDAV, making data access and transfer easier. Student users of Moodle can use any standard Web browser.
But the biggest reason for choosing Moodle is its flexibility. For example, Moodle has an interchangeable interface. Moodle uses themes for page styles, and language files for the language used in the interface. Currently there are more than 75 languages available. Thus, all Moodle users -- students, teachers, and administrators -- can use their language preference when using Moodle. Schools can, of course, create their own themes and language files.
Setting up Moodle
If you want to test the benefits of Moodle for your organization, find a server with an installed Web server and SQL database. Linux users can install Moodle from source files in a tgz file. Fedora includes Moodle RPMs, and Debian packages also exist. Windows and Apple users can install Moodle's source files, or they can install all of the required servers (Apache, PHP, and MySQL) from a complete package derived from XAMPP. Regardless of how it is installed, Moodle files are placed in a Web-accessible folder. An administrator then invokes the URL of an installation script that walks the administrator through the rest of the installation process. The administrator will need authorization to create database tables.
After the required database and Web servers and the Moodle Web application are installed, you can start setting up courses and users. Originally, Moodle created an interface for the installation of individual users and individual courses, but now it can import course definitions and student profiles in bulk from a CSV file. Some school CMS administrators have created scripts to export student data from their existing school systems and automatically import them into Moodle.
Moodle system administrators manage their CMS via a Web interface that includes control over nearly every aspect of the site. Site functionality includes a site-level calendar, emailing options, log and report analysis, and search engine interoperability. The interfaces are easy to use and generally come equipped with help buttons throughout the pages.
Moodle has addressed security issues as well, albeit in a minimalist fashion. Moodle uses SSL for logins; however, the sessions following the logins are not encrypted. Moodle also includes a GUI-based log viewing system as part of the administrator tools. It allows administrators to filter logs based on individual courses, users, activities, actions, and time. Filtered reports cannot be exported, but administrators can save or print the displayed HTML pages.
Tips for administering Moodle sites and courses
I have installed Moodle dozens of times and used it to teach language and technology courses. I also train teachers to use Moodle and assist them during their initial courses. Here are some tips for Moodle administrators and teachers.
As with all new applications, administrators should make preparations before installing Moodle. The following checklist might help:
1. Ensure the server on which you plan to install the software has all of the required and optional components installed. For example:
Verify the required server applications -- Web, database, and messaging -- are operational.
2. Set email policies. What mail router will this server use? Will Moodle users be required to use school email? What character set will outgoing mail use?
3. Select an authentication method. Current options include PAM, LDAP, POP3, IMAP, NNTP, CAS, and FirstClass servers. Email-based authentication is also available. If your school already has an existing authentication method for another system, Moodle may be able to tap into it.
4. Discuss and decide what Moodle options to turn on or off, such as RSS feeds, Google searchability, and podcasts.
5. Establish regulations regarding user authority.
Define system roles. Moodle defines users based on preset roles (system administrator, course creator, teacher, non-editing teacher, student, and guest) Decide the appropriate authority for each user.
Determine who is allowed to view personal profile data -- anyone, guests, schoolmates, classmates, etc. Profile information includes basic information like name, email, and chat IDs. Privacy concerns may encourage schools to limit access.
6. Create usage, privacy, and security policies to protect the school and the users from inappropriate site activity.
7. Establish a system for uploading students and users. Moodle allows students to be uploaded via CSV files. The system administrator, working in conjunction with the academic office, can develop scripts to auto upload students and users from an existing school database to Moodle's database. Instituting a script-based user upload will greatly reduce headaches.
Tips for e-learning course developers
Teachers new to e-learning and course development will find many tips online regarding e-learning course development and use. The following tips focus more on Moodle courses.
1. Plan before you build. After the creation of a default course, you can begin adding content. I recommend having a syllabus that includes objectives, a grade system, and a schedule. These three components of your paper-based syllabus are easily imported into your Moodle course.
2. Set up grade categories at the beginning of the course. Grade categories determine how grades are formulated. For example, I have a course that includes four areas of graded activities -- homework (25%), quizzes (20%), tests (25%), and projects (30%). These areas are the categories into which I input the grades for my graded activities. Once the categories are created, any new activity I add to the course can automatically be placed in the proper category. Furthermore, students will be able to see their grades for each activity and see their total grade as the course progresses. If the categories are not set up in advance, students cannot determine their current grade status.
3. Start small and build up. Since Moodle has many functions, it is a good to begin with simple tools. For example, begin by uploading the syllabus, which Moodle calls a resource. Put all of your paper resources on your course schedule in the appropriate week you plan on using them. If you place resources in your course, students won't need to come to you for a lost paper -- they can get it for themselves.
Regarding resources, I recommend using platform-independent file formats, so that any user can open your resource. I recommend Adobe Acrobat files or HTML for text information, since every computer can read them. Avoid Microsoft Word and PowerPoint files. For presentations, convert the PowerPoint to HTML or Flash.
4. Begin by using tools that are easy to set up and can be used quickly. I recommend using the assignments, forums, and journals. Assignments can be files that are uploaded, such as a book report, or offline activities. For example, when I first started using Moodle, I gave quizzes on paper and made an offline assignment into which I placed the quiz results. Students could then see their quiz grades without having to wait until class time.
Forums allow students to post messages and respond to other posted messages. I use forums to extend a classroom discussion. Journals are comments that only the teacher can read. I use these for reports and some written homework.
5. Hide activities you are developing but not ready to present to your students. Each activity has an eye icon that closes when it is hidden.
Despite all of its good points, Moodle could benefit from some additional features. The log reports and test results analysis functionality are not nearly as robust as I would like them. I would like more research analysis functionality, such as item discrimination or Likert scale analysis tests. I would also like to be able to create an activity in one course and copy it to multiple places in the course or into other courses.
However, I have little doubt that someday Moodle will include these functions. I am impressed with the developmental pace Moodle is moving at. Although it is a relative newcomer to the open source community, it is experiencing rapid evolution. Moodle is an efficient CMS as it is now; its continued use and development encourages me to stick with this CMS in future installation opportunities.
If you are interested in learning more about Moodle, check out my presentation about the growing e-learning trend in Japan and one college's Moodle installation experience.
Frank Tuzi is an associate professor of linguistics and technology.