5. The Platform

Open edX includes two software applications: one for taking courses –the LMS or Learning Management System– and another one for creating them –“Studio,” the CMS or Content Management System.

Open edX organizes course content –called “Course Outline”– through a three-level hierarchy of sections, subsections and units. Sections and subsections appear on a vertical navigation bar on the left and units appear sequentially on a horizontal navigation toolbar. This navigational structure is effective, engaging, and results in a great learning experience.

Units contain components such as discussions, HTML, problems and video. One of the great technologies incorporated on edX pertains to the way in which course staff can express problems. It allows for multiple-choice questions, checkboxes, dropdowns, textual, numerical and mathematical inputs as well as many other types of advanced problems, using custom Python and JavaScript to evaluate answers and display the results.

The video player, built by Google and YouTube, is excellent: students can follow click-on transcripts to move along the video, adjust their speeds, download them…

A course can have cohorts, HTML pages, textbooks, wikis.

There are endless ways to structure course content on Open edX.

“What makes Open edX unique is that it is the only last-generation, full-featured, open-source platform for online learning (…) Open edX has the potential to enable independent online-learning initiatives, where instructors maintain control of their intellectual property and institutions protect learner data,” explains Lorena Barba, Professor at GW and one the most prestigious voices in the Open edX community.

Tech features

Open edX is implemented mostly through Python in the server and Javascript in the browser.

Its architecture is designed to be modular, readily enabling new components to be developed and plugged in.

The code of the platform is located at github.com/edx/. The main repository is “edx-platform”, which covers the LMS and the Studio authoring tool (or CMS). It also includes XBlocks, the courseware components.

The software is written in Python, Ruby and Javascript, with several extensions:

Django + Mako

Ruby on Rails

NodeJS

Coffeescript

SASS

A driving principle of Open edX is scalability. A number of modules and their respective databases can be run on separate machines and scaled easily.