📜 ⬆️ ⬇️

Something about edX Blades

Recently, there have been a lot of articles about online learning projects that have become a new stage in education. Now online courses are more popular abroad . Among all the resources that provide online learning, there are three of the most popular : Coursera , edX and Udacity . These three resources are distinguished by the interactivity of their courses and, most importantly, they provide an opportunity for anyone who wants to study for free.

Although many have already listened to a number of lectures and even successfully completed online courses, few people know how everything looks from the inside. I will talk about the technological side of one of these high-profile platforms.

Our team works in the company Innovovex on the project edX . The main tasks are aimed at creating the so-called “blades” - modules embedded in the platform, like blades in a razor. In addition, part of the tasks associated with the modification of the platform.
')
Each “blade” is a Rich UI application consisting of a front-end part (javacript) and a back-end part (python). For example, take the course “ Introduction to Solid State Chemistry ”. The course material is embedded check chemical reactions. After listening to a short (5-7 minutes) video of the lecture, the student is offered to test his knowledge. Instead of the usual questions and text boxes for input, the student is offered something special. For example - to write a chemical reaction of a specific process. This chemical reaction is checked on the server automatically, using pyparsing and nltk . That is, besides the front-end part for inputting chemical reactions using latex, or rather MathJax , there is a back-end part, which is a Python module for checking the correctness of the student's answer.

I still would not want to delve too deeply into the technical details of the implementation of the blades for two reasons. First, the code can be viewed on the githaba , since from July 1, the edX platform has become open-source. Now everyone can familiarize themselves with the “blades” by looking at the code on the links provided, and in addition, create and run their own virtual university :) And secondly, we are not doing something extraordinary in technical aspects. We implement new ideas for learning, helping to make it interesting, interactive and alive - in fact we are doing high-quality engineering work. Better yet, I’ll talk about “blades” with specific examples: how they are structured, what they are based on. And you can imagine how the courses consisting of such modules can be interesting for students:

  1. For the course “Introduction to Solid State Chemistry” such a module is a test of knowledge on crystallography. For a student, the task is to build a section that corresponds to certain Miller indices of the crystallographic plane. The front-end part is designed to be interesting for the student in the first place: a clear, clear, one-click interface. On the back-end part, the correctness of the student's answer will be checked by the corresponding module that implements a non-trivial algorithm for finding the Miller indices of the crystallographic plane by points.
  2. For the same course, a module has been created that allows the student to answer questions on the theory of repulsion of electron pairs of valence orbitals.
  3. For the course “Health in Numbers: Quantitative Methods in Clinical & Public Health Research”, there are many “blades” implemented only in javascripte, which allow the student to master the course concepts interactively: linear regression, survival curve and many others.
  4. For several courses, a tool was developed that allows linking the graph, the sliders and the contents of the page elements, in the form of DSL, the so-called. graphical slider tool. With its help, students can explore dependencies and formulas: visually see how the dependence changes in one way or another (for example, the diffusion curve) as parameters change.
  5. Conditonal module, which allows teachers to show students a different course content depending on what the student has done before. The module is used in the Harvard Justice course to ask students questions in the style of Socrates, and to show other questions based on the answers received.
  6. The Drag and Drop module is used for solving tasks where you need to drag the necessary elements to the correct positions. For example, it is used in “Introduction to Biology - The Secret of Life” for problems on gene labeling, in the course “Introduction to Solid State Chemistry” for solving tasks on filling energy levels of molecular orbitals (for example, in problems on the theory of linear combinations of atomic orbitals). ). This module is quite general, since constraint programming is used to check the validity of the conditions .


Among the other “blades” are the modules allowing the student to select forms in the drawings; one-click video player that supports html5 and youtube, with the ability to navigate through the subtitles;
tag cloud, with a common database of input data for students of this course;
a poll module that allows students to answer questions and see the results of other students, data is stored in mongo; and many others.


A module is currently being developed that will allow students to draw graphs as an answer to a question, and for different subject areas, the ways in which they will do this will be different, as well as convenient and interesting for the student.

In general, the development of "blade" achieved several goals: good and correct code, user-friendly interface, the correct transfer of the concept and educational approach. The latter is very important for the project, as many innovations in training, correctly implemented in the course, allow the course to be successful, and their absence often leads to boredom. This, for example, mastery learning, instant feedback and constructive learning.

Here is what Piotr Mitros, Chief Scientiest of EdX writes about them:
Mastery learning means that a student doesn’t move on until they've been mastered a concept. Whether they have mastered a concept. The student is guided through learning, learning, learning, learning, or learning, or learning, or learning. All three of these are strongly researched to show substantial learning gains.


The code of the described blades can be viewed here , and some :) documentation on them here .

Source: https://habr.com/ru/post/192824/


All Articles