Course Creation on Open edX: A Mini Guide

Course Creation on Open edX: A Mini Guide

Course Creation on Open edX A Mini Guide

For starters, Open edX is one of the forerunners of MOOC (massive open online course) and a great platform for online learning at the university level. Declared open source in 2013, EdX is a great platform in case of a sizable student audience, read between 30,000 – 1,00,000 and more.

As a project manager of an angularjs company, I head a programming team integrating an online interactive course for students of a prestigious university. The Open edX software platform was chosen as the course creation platform for this project. The client required the courses to feature the basic edX features for a start, along with the university brand name for a customized and unique feel. Gradually, they will require the inclusion of new features. This is an overview of the Open edX CMS, edX Studio.

Open Edx is a great tool to design/redesign courses as per your needs. It is equipped with backend tools that help you provide an exclusive look to the course interface. To cite one instance, Open edX supports payment gateway integration.These include multiple services like Cybersource, Paypal etc. Integrating this feature makes online payment of course fees, a hassle-free experience. How students will undertake the course, the grading/assessment system, evaluations, tests and exams and finally a certificate on course completion, can all be efficiently set up on the LMS, thanks to Open edX.


Python is the main language in CMS, with Django as the framework, Javascript goes into the working of its browser. ‘Templating’ in Open edX is based on Django templates and Mako templates. New components can be plugged in thanks to the modular architecture design. Easy scalability is also one of the virtues of the software. The edX platform has two ends to it, the LMS and the backend part, the Studio or more commonly known as the CMS. XBlocks are crucial components, enabling customization and setting up of MOOC on a large scale.

The Learning Management System (LMS) is the interactive section that the students work with. The LMS allows the learner to register, to track their progress, speed-up immediate feedback to their homework and be involved in discussion forums. Ruby and Elasticsearch goes into the implementation of the forums. The forums are a big help, even as students bond with each other and arrive at the most viable solution.

The Content Management System (CMS), the edX Studio backend tool helps you upload content and enhance as per the client’s needs. There is no end to the additions that can be made to the course design. The edX Studio end has various add-ons that enhance the software and provide it with much needed flexibility.

A division of servers is required, apart from three varied port forwarding – separate servers for LMS and CMS, another for the forum. Restricting the course to limited users through coding is possible, though it is not a straight-forward process. Another impressive feature is the facility of beta testing, allowing select students to test the course, before it goes live. Maintenance and installation costs are an issue, but in the long run and in view of the sheer volume that is handled here, it is understandable.

EdX Studio

Armed with a simple user interface, edX Studio enables multiple users to work on a single course. Post obtaining the required permissions for access, create a user account in edX and get started. EdX is compatible across various Internet browsers and computer systems.

For instance, if you want to start building a course on edX, just login to edX studio and view the ‘MyCourses’ page. The ‘Course Outline’ page opens by default. We just have to click the ‘New Section’ button, either at the top or bottom of the course content and give a catchy name to the course. Adding subsections and additional units to the course take a few clicks. EdX is flexible as per requirements, built on the basic framework and add on to the structure using third party plug-ins. Apart from Open edX line of products, product features are been developed to enhance the students’ understanding. If you are working on a basic course, adding subsections, videos, discussion elements, assessment components, presentation elements are not difficult to implement. Customizing courses is another learning phase.

More on Edx Studio

Adding HTML components, apart from links and images offers ample flexibility for developers to play around with the content. The video component, key aspect of any course (at the time of writing), allows .mpeg, .ogg and .mp4 formats. You need to integrate the video with youtube, while adding a display name, video sources and other details. The discussion component, another important interactive course feature, can be previewed on the LMS before one uploads it, an element common to several edX features.

Apart from creating multiple choice, numerical input, checkbox and dropdown problems (i.e. Tests for students), a blank template allows you to create a custom problem. The number of attempts allowed per problem, maximum points each problem must carry, etc – can be chosen. Problems are good motivation for enrolled students. You also have the convenience to set the release dates, right from the course’s commencement to the visibility of its sections and subsections. The settings can also be set to public or private. As a developer, you can view the course as a student and staff member sees it, if the visibility setting is set to ‘public’. Also, the preview mode, allows the instructors to check all units of the course. The preview option is a convenient tool for developers to check and recheck their work. A published draft can also be revised. The same goes for the ‘welcome announcement’, a space that serves as a virtual notice board for the students, from placing reminders for exams to informing them of changes. The edX studio functionalities ensure that a developer can perform prime functions with ease, while using their skill to customize the courses. Certification is a prime end result of each course. Open edX supports certification for students on course completion, ensuring the validity of the entire exercise.

Additional edX functions

Let’s take a view of other edX functions, like adding a link to a course unit. This is similar to posting a link in to a website, apart from an extra technicality involving a unit identifier. Similarly, adding an image can be done by selecting ‘Files & Uploads’ under the ‘Course Content’ dropdown menu and following the respective steps, thereafter. Other functions like ‘creating a link to an image in a HTML component’ or ‘adding an image to a advanced problem’ have a series of steps as instructions. The steps for customizing the discussion space, adding specific video settings and a transcripts to videos are also clearly demarcated.

In summation, Open edX is a great software tool for developers, to build a solid base for online interactive learning courses, even as they mold and add elements as per the client requirements.