Recommender systems in online education
With this article, we begin a cycle on recommender systems and adaptive learning.
Under the cut are two main topics:
- about online education, pros / cons / pitfalls;
- classification of recommendation systems, their applicability in education, examples.

About online education, its pros, cons and pitfalls
This part is more introductory, characterizing online education, the exciting details of recommendation systems under the following picture :)
In the modern world, online education is gradually becoming more and more popular. The opportunity to learn from professors of leading educational institutions, to study new areas, to obtain the knowledge necessary in work, without leaving home, attracts a large number of people.
One of the most common forms of online learning is massive open online courses (MOOCs, Massive Open Online Courses). Most often, they include videos, slides and text content prepared by the teacher, as well as tasks for testing knowledge, which are usually checked automatically, but it is also possible for students to check each other's work. A variety of types of tasks can be proposed as tasks: from simply choosing the right answer to writing an essay and even, like we do at Stepik, programming tasks with automatic verification.
Online education has its own characteristics that distinguish it from ordinary, offline education. Among the advantages, firstly, the accessibility already mentioned above to everyone who has access to the Internet. Secondly, it has almost unlimited scalability: thanks to automated task verification, thousands of people can study at the same time, which is not comparable with ordinary courses in classrooms. Thirdly, each student can choose a convenient time and pace for the passage of the material. Fourthly, teachers have a large amount of data on how users go through his courses, which he can use to analyze and improve his materials.
At the same time, there are downsides to online learning. Unlike traditional education, where a student always has a motivation in the form of an assessment of his academic performance, in the case of online courses there are no penalties for not completed a course. Because of this, the percentage of those completing the course of those who signed up for it rarely exceeds 10% (at us at Stepic, the best according to the EdCrunch Awards 2015 version of Anatoly Karpov's “Fundamentals of Statistics” record-breaking 17% of applicants completed the first run, but this is rather the exception). In addition, due to the large number of students, the teacher does not have the opportunity to pay individual attention to each student in accordance with his level and capabilities.

Recommender systems: on Stepic.org and generally
We set ourselves the task of creating a recommendation system that could advise students of interesting content for him and take into account his level of training and knowledge gaps. In addition, the system must be able to evaluate the complexity of the content. This is necessary, in particular, for adaptive recommendations that will help the user to study the material, flexibly adapting to it, offering exactly the content that he needs now for training. Such a system will be useful to users with personalized lesson recommendations that can help them learn a specific topic or suggest something new.
In general, learning should have become even more interesting!
Existing recommendation systems
One of the first examples of a recommender system in a modern presentation is movielens.org , which offers users films based on their preferences. This service is interesting in that it provides everyone with an extensive set of data on films and ratings put by them by users. This data set has been used in many studies in recommender systems over the past two decades.
Three main classes of recommendation systems:
- Systems based on content filtering. Such systems offer users content similar to the one they studied previously. Similarity is calculated using the characteristics of the compared objects. For example, to recommend films, you can use the proximity of genres or the cast. This approach is used in the service to evaluate, search and recommend Internet Movie Database movies .
- Systems using collaborative filtering. In this case, the user is offered content that interests similar users. Service recommendations MovieLens based on this approach.
- Hybrid systems combining the two previous approaches. This type of system is used by Netflix , a service for watching movies and TV shows online.
We created a hybrid system with more active use of content filtering and less active - collaborative filtering.
There are many studies on recommender systems for technology-based learning (Technology Enhanced Learning) . The specificity of the task in this case adds new directions for the development of the recommendation system.

What are the features of the educational project recommendation system?
Firstly, it is an opportunity to build an adaptive recommendation system that will adapt to the needs of the user at a particular moment and offer him optimal ways to study the material . In this format, various simulators can be implemented, for example, in mathematics or a programming language, containing many tasks of varying complexity, of which different students will be different at each moment of time.
Secondly, it is possible to extract dependencies between training materials from data on how users pass them.
This data can help to extract individual topics in the materials, the relationship between these topics, their correlation in complexity .
Coursera, EdX, Udacity (platforms for online learning) use their recommendation systems, advising users of courses that may interest them. The disadvantage of these recommendations is that they can offer only the entire course, but not some part of it, even if only the user is interested. Also, a system constructed in this way cannot help the user in studying the course that he has chosen.
The MathsGarden resource advisory system , by contrast, works with the smallest pieces of content — separate tasks. It is an elementary arithmetic simulator for elementary school students, which offers the student tasks that are optimal for him at a given time in complexity.
For this, the system counts and dynamically changes the relative characteristic of the student’s knowledge, as well as the characteristic of the complexity of the tasks, but more on this later.
In the following articles, we will talk more about the Stepic.org device and the implementation of the recommender system, determine what an adaptive recommender system is, and analyze the results in detail. It will be fun :)