“…Modern Intelligent Programming Tutoring Systems (IPTS) provide a wide range of features for learning-process support in different subject domains, such as programming tasks with feedback, quizzes, execution traces, pseudo-code algorithms, reference material, worked solutions, adaptive features, and many others [18]. Some ITPSs allow generating tasks using templates and subject-domain models [19,20], but most of them use only predefined tasks [11,[21][22][23][24][25]. They are aimed at different levels of Bloom's Taxonomy objectives-comprehension [19], application [11,20,21], analysis and synthesis [10,[22][23][24][25][26]; some of them include limited support for underlying levels.…”