Adaptive Learning of Programming

Adaptive Learning of Programming is the research project that is being conducted by  Adaptive Learning research group at the Masaryk University, Brno, Czech Republic. Their mission is to make learning more efficient and engaging by personalizing educational systems using artificial intelligence techniques.
Adaptive Learning research group develops applications that provide personalized learning experience by estimating students’ skills as they practice and recommending them tasks of the optimal difficulty. Suitable challenges, neither too easy, nor too difficult, help the students immerse themselves into the problem solving activity and achieve the state of flow.

Main Research Themes
  • Student modeling, domain modeling (based on students’ answers estimate student knowledge and/or structure of the domain).
  • Instructional policies (algorithms for selection of appropriate questions/problems for a particular student).
  • Evaluation of educational systems (general methodological issues, specific case studies).
  • Problem solving, difficulty of problems.

The goal of adaptive learning is to make educational system personalized, so that they can adapt to needs of a particular students. Adaptive learning is very interesting area at the  intersection of basic research and wide ranging applications.

Overview of main adaptive educational systems developed by Adaptive Learning research group (all systems are available in Czech, unless stated otherwise, some also in other languages): 

RoboMissionintroductory programming game
Anatomy practiceAnatomy for medical students using high quality images from the Memorix textbook.
Poznávačka přírody Nature quiz – practice of names of animals, trees, … 
Umíme MatikuMath practice.
Umíme ČeskyPractice of Czech spelling and grammar.
Edulinta Python linter designed to help beginning programmers learn better coding style (English only)
Umíme informatikuintroductory programming, computational thinking, digital technologies
Overview of main adaptive educational systems developed by Adaptive Learning research group

More information at

Read the article “Blocks, microworlds, puzzles, and adaptivity: teaching programming effectively” in RHRQ 2:3 by Tomáš Effenberger