Keywords

1 Introduction

Massive Open Online Courses (MOOCs) are trending in both e-learning and traditional learning nowadays. Approaches being a base of MOOC s are used in traditional learning for blended education, which allows engaging students and increasing their learning outcomes.

The most popular open education platforms are Coursera, edX, Khan Academy and Udacity. The majority of courses published on edX platform created by MIT and Harvard University is related to technics. In June, 2013 the platform’s source code was published on Github and everyone got an opportunity to deploy one’s own edX platform instance and create his own courses. Being open-sources the platform was named Open edX.

New updates for the platform are being published regularly, despite its development is held in private. In October 2014, the first named release Aspen was announced. By spring 2016 there are four named stable releases already. Moving to named releases development model tells that edX is highly interested in the successful future of the platform.

Named releases allow community to use latest and stable the platforms codebase. The Open edX platform is complex system, which uses such technologies as: Python, Django, Mako, Sass, Javascript, CoffeeScript, JQuery, Underscore, Celery, RabbitMQ, MongoDB, MySQL, Ansible, Paver. The platform has formed big and active community of developers, which the platform developers stay in touch with. Some of third-party developed features are merged into the original codebase and become publically available. Those features can be UI-improvements, new content types, and others.

ITMO University has wide experience in applying IT to education process [24], and has been developing its own learning management system AcademicNT which is used to support education process of on-campus students. This LMS can also be connected to other systems. Its key feature is support of variety of pedagogical tests, lecture papers, virtual laboratories, and other content types.

ITMO University has been working on MOOCs since 2012 using experience of creating AcademicNT courses. ITMO University had need of new technologic platform to publish courses besides just content. Oped edX became such platform as soon as being released. Not all the features ITMO University needed were implemented in Open edX platform at first, so the university jumped into development of new features, and some of them are course catalogue, UI improvements, connection with ITMO authentication provider, and others.

AcademicNT has a lot of content, so there was no need in creating new items of some kind, for example, tests, while creating courses for Open edX, as those ones in AcademicNT could be used in Open edX. The issue of connecting AcademicNT and Open edX was stated and latter solved. It also stores RLCP-compatible virtual labs, which are unique elements that can be used in course content.

ITMO University was not the only one in Russia, who started to use Open edX for MOOCs. National Platform of Open Education (NPOED) – association of 8 leading universities in Russia, was created in 2015 to combine efforts to develop MOOC-platform and create new courses. The platform required to include such modules as learning management system (LMS), content management system (CMS), single sign on authentication provider, billing system, catalogue system, individual education tracks, analytics system. As for LMS and CMS, the Open edX was taken as a base system, but the rest of required components were developed from scratch.

2 RLCP-Compatible Labs as Assessment Tools for Online Courses

Using practical assignments in MOOCs, and especially assessing them, usually requires great efforts. RLCP-Compatible Labs is one of the tools for that. RLCP-compatible labs provide such features as automated variant generation and solution evaluation, which all allows easy scaling usage of these labs.

RLCP-compatible labs [5] are used in online courses for forming and measuring skills of solving algorithmic tasks, which require appliance of well-known algorithms with strictly defined steps.

Algorithmic tasks allow checking solutions step by step, splitting student’s solution into pieces, and comparing each piece with the ones made with the reference algorithm. This makes possible to point out a step, where student made a mistake, and give a feedback message with corresponding grade. Using such tasks requires control over variants and theirs difficulties. This issue is solved by special algorithms of creating predefined difficulty level variants. As an example let’s consider virtual lab created for course “Linear Circuits” (Fig. 1), where student have to perform modeling of transient process in electrical circuit and take measures of an oscillograph. As student change switches states or oscillograph control elements, these parameters are sent to virtual lab server with use of Calculate method, and new Y-coordinates for the oscillograph curve are given back. As student finds out correct parameters (as he supposes), student writes them down in the corresponding fields in virtual stand and presses “Check” button. These parameters are sent as solution to virtual lab server and the solution is evaluated via Check method, and the grade is assigned.

Fig. 1.
figure 1

Example of virtual lab stand

RLCP-compatible Lab consists of two independent modules: virtual stand and RLCP-server. The virtual stand is responsible for visualizing the variant data and providing tools for compose and editing mediate solutions [6, 7]. RLCP-server supports interactions via RLCP-protocol and provides responses on several types of requests: creating new variant, performing intermediate calculations, and evaluating solution. To perform secure interaction, these two modules have no information on each other, and exchange messages via special environment, which controls over the students’ task solving process. There are more details on the workflow in future papers.

3 AcademicNT as External Assessment Tool for Open edX

RLCP-compatible labs require special environment to be run in to provide such features as automated variant generation and step-by-step student solution evaluation, as such environment provide event system to perform these actions. Neither Open edX nor all platforms based on it, such as NPOED and ITMOcourses, have no embedded RLCP-compatible labs control environment, so all RLCP-compatible labs used in online courses are hosted in AcademicNT, which support those requirements and can be used as external service for carrying out assessment evaluation. Further a way of implementing an interconnection between AcademicNT and Open edX platform to use RLCP-compatible labs using seamless session is described.

AcademicNT stores data in XML-based format named AcademicRM. Virtual stands are described by LabTool element, which stores stand’s display name, URIs to lab’s data files. Element Frame describes task and consists of task display name, its description, pointer to virtual stand and date required to form lab’s variant. Frame elements are attached to Script elements. Script element also contains display name and description of lab, rules of forming total grade for lab. To grant a student access to the test script, Course element should be created with tree structure of Elements. Each course’s Element has a Script element assigned. The Course element stores data on students’ earned grades. To link course’s Element and Script element a Unit element should be created, which is matched to Open edX Component element.

Course content is represented with four levels in Open edX: section, subsection, unit and component. Each week students gain access to new content. Each week is represented by Section level. Type of content, for example, video lectures, or virtual labs, is represented by Subsection. Each Unit in user interface is a single page with piece of content. To add content on this page a Component should be used. Figure 2 shows structure described above.

Fig. 2.
figure 2

AcademicNT and Open edX course structures

4 Open edX and AcademicNT Interaction

General interaction scheme (Fig. 3) includes such elements as Student, AcademicNT, Open edX and Single-sign-on (SSO) service.

Fig. 3.
figure 3

Interaction scheme

The interconnection process starts when a student decides to solve AcademicNT-based assignment. He opens an Open edX page in a web-browser to get an assignment, which can be either a test or an RLCP-compatible virtual laboratory. The Open edX platform finds out, which exact assignment was requested, using course_id and unit_id parameters, and redirects student to corresponding page in AcademicNT. Open edX performs the redirect via SSO Service using SSO Service api to make sure of student identity. SSO Service may perform additional checks on the user identity, for example, and request student credentials once more if needed. In case of successful login SSO Service redirects student to the page of AcademicNT containing assignment requested.

Before rendering an assignment page AcademicNT determines whether current user exists in database. In case of user related data absence, AcademicNT performs an additional request to SSO Service obtaining missing data and creates an account for current user. Later this account will be used for this particular student. A frame containing the assignment will be shown after all the checks passed.

When student finishes the assignment, his solution is transmitted to AcademicNT, which validates and evaluates it. After that a report containing feedback message and resulting grade is shown. At the same time AcademicNT notifies Open edX that student’s assessment data has been modified, and Open edX performs counter request to obtain full report containing all user attempts to build own grade report.

AcademicNT provide necessary API for all interconnection phases including such methods as getCourseUnit to provide student with page of AcademicNT-based assignment, getCourseAttempts that returns records on students’ progress, getCourseInfo to get course metadata.

Open edX platform provides an interface named XBlock to include different kinds of materials in a course, for example, video lectures and surveys.

XBlock interface is a part of python package authored by edX. The key feature on this interface that its implementation is responsibility of course’s author, so they may perform any action possible, for example conditional surveys or modelling, which all depends on course’s designers and developers.

An XBlock was developed for the technique proposed to maintain interconnection between Open edX platform and AcademicNT.

More to say correctly implemented XBlock may be used in any implementation or instance of Open edX platform. So NPOED and ITMO courses share the same XBlock implementations.

5 Conclusion

A technique proposed in this paper allows to organize interaction between Open edX and AcademicNT. It provides project based on Open edX with test, virtual labs and other materials stored in AcademicNT, which cannot be used natively, as they provide much more features than Open edX may support now. These materials are used in 7 courses published on NPOED and ITMOcourses.

The technique may be used for interconnection of Open edX and other existing services of testing and assessment. This allows reusing existing materials, and making the principle of cooperation with existing courses as the main idea, but not the challenge.

Taking into account that Open edX platform is open sourced, the experience described in this paper may be useful for institutions creating and using open online courses.