Right now we are developing an adaptive learning engine which chooses content for each learner individually – by identifying the level of her skills and her knowledge gaps. You can try out our first adaptive course Adaptive Python to see how it works for yourself. 


You can also create your own adaptive course on our platform.

The difference between a regular and an adaptive course:

  • There is not set structure in an adaptive course. 
  • A student can not follow a linear pre-set structure of the course, the adaptive engine generates a unique path for each student. 
  • You can not add introductory or conclusive lessons to an adaptive course. Therefore, you have to make all the necessary information accessible on the information page of the course. 
  • The students will not get any points upon completing an assignment in an adaptive course. However, her skills levels and the confidence levels will rise. The students will be able to assess their progress in the Student's dashboard.


The process of creating an adaptive course:

1. Create a course on the platform: Add lessons to the course (or create new lessons inside the course) Following factors are important for the adaptive engine to work properly:

  • it's important to include at least one assignment in every lesson since the next lesson will be advised to the student based on her performance.
  • the lesson shouldn't be too big. We generally advise having the maximum of 5 steps per lesson. 
  • the lessons shouldn't be directly connected. The lessons will be recommended separately, therefore each lesson should represent or test a single complete concept. 
  • for each lesson the engine will calculate the average difficulty rating based on how many times the students considered the lesson to be too hard or too easy and how many attempts on average did it take for a student to complete the assignment. The difficulty rating will determine the moment the lesson would get recommended to each student. That's why it is advised not to use peer-review and open answer type of assignments in adaptive lessons.

2. Attribute tags to the lesson: you have to attribute the same tag to all the lessons included in the adaptive course, and then choose other tags for each lesson to describe it's content more thoroughly. You can consult the tag library here: и www.wikidata.org и and add them to your lesson using the specified ID of the tag. For example, the ID of the tag for Python is Q28865 (https://www.wikidata.org/wiki/Q28865). Find more about tags here

3. If you can assess the difficulty of the assignments - set the amount of points your students will get if they complete it: if you managed to attribute points to the assignments, you should let us know by email so we can make the engine assess the difficulty of the assignments according to the points you've listed.  If you attribute the same amount of points to all the assignments, the diffculty rating will be calculated for each assignment after a sufficient number of students will solve it. 

4. Please tick the box 'Adaptivity' in the course settings to specify that the course is adaptive.  


If you have any more questions left, feel free to contact us at support@stepik.org.