Bloom, B. S., Engelhart, M. B., Furst, E. J., Hill, W. H.,
and Krathwohl, D. R. (1956). Taxonomy of edu-
cational objectives. The classification of educational
goals. Handbook 1: Cognitive domain. Longmans
Green, New York.
Bruce-Lockhart, M. and Norvell, T. (2000). Lifting the
hood of the computer: program animation with the
teaching machine. In 2000 Canadian Conference
on Electrical and Computer Engineering. Conference
Proceedings. Navigating to a New Era, volume 2,
pages 831–835 vol.2. IEEE.
Brusilovsky, P. and Su, H.-D. (2002). Adaptive visual-
ization component of a distributed web-based adap-
tive educational system. In International Confer-
ence on Intelligent Tutoring Systems, pages 229–238.
Springer.
Crow, T., Luxton-Reilly, A., and Wuensche, B. (2018). In-
telligent Tutoring Systems for Programming Educa-
tion: A Systematic Review, page 53–62. Association
for Computing Machinery, New York, NY, USA.
Daungcharone, K., Panjaburee, P., and Thongkoo, K.
(2019). A mobile game-based c programming
language learning: results of university students’
achievement and motivations. International Journal
of Mobile Learning and Organisation, 13(2):171–192.
Donmez, O. and Inceoglu, M. M. (2008). A web based tool
for novice programmers: Interaction in use. In Ger-
vasi, O., Murgante, B., Lagan
`
a, A., Taniar, D., Mun,
Y., and Gavrilova, M. L., editors, Computational Sci-
ence and Its Applications – ICCSA 2008, pages 530–
540, Berlin, Heidelberg. Springer Berlin Heidelberg.
Hosseini, R. and Brusilovsky, P. (2013). Javaparser: A
fine-grain concept indexing tool for java problems. In
Workshops Proceedings of AIED 2013, volume 1009,
pages 60–63. University of Pittsburgh, CEUR work-
shop proceedings.
Kollmansberger, S. (2010). Helping students build a men-
tal model of computation. In Proceedings of the Fif-
teenth Annual Conference on Innovation and Technol-
ogy in Computer Science Education, ITiCSE ’10, page
128–131, New York, NY, USA. Association for Com-
puting Machinery.
Kumar, A. N. (2003). Learning programming by solv-
ing problems. In Informatics curricula and teaching
methods, pages 29–39. Springer.
Kurdi, G., Leo, J., Parsia, B., Sattler, U., and Al-Emari,
S. (2020). A systematic review of automatic ques-
tion generation for educational purposes. Interna-
tional Journal of Artificial Intelligence in Education,
30(1):121–204.
Lajis, A., Baharudin, S. A., Ab Kadir, D., Ralim, N. M.,
Nasir, H. M., and Aziz, N. A. (2018). A review of
techniques in automatic programming assessment for
practical skill test. Journal of Telecommunication,
Electronic and Computer Engineering (JTEC), 10(2-
5):109–113.
Levy, R. B.-B., Ben-Ari, M., and Uronen, P. A. (2003).
The jeliot 2000 program animation system. Comput.
Educ., 40(1):1–15.
McBride, B. (2002). Jena: a semantic web toolkit. IEEE
Internet Computing, 6(6):55–59.
Mitrovic, A. (2012). Fifteen years of constraint-based tu-
tors: what we have achieved and where we are going.
User modeling and user-adapted interaction, 22(1-
2):39–72.
Nesbit, J. C., Liu, Q. L. A., Liu, Q., and Adesope, O. O.
(2015). Work in progress: Intelligent tutoring systems
in computer science and software engineering educa-
tion. Proceeding 122nd Am. Soc. Eng. Education Ann.
Papadakis, S., Kalogiannakis, M., and Zaranis, N. (2016).
Developing fundamental programming concepts and
computational thinking with scratchjr in preschool ed-
ucation: a case study. International Journal of Mobile
Learning and Organisation, 10(3):187–202.
Russell, S. (2021). Automatically generated and graded
program tracing quizzes with feedback. In Pro-
ceedings of the 26th ACM Conference on Innovation
and Technology in Computer Science Education V. 2,
ITiCSE ’21, page 652, New York, NY, USA. Associ-
ation for Computing Machinery.
Singh, R., Gulwani, S., and Solar-Lezama, A. (2013).
Automated feedback generation for introductory pro-
gramming assignments. In Proceedings of the 34th
ACM SIGPLAN Conference on Programming Lan-
guage Design and Implementation, PLDI ’13, pages
15—-26, New York, NY, USA. Association for Com-
puting Machinery.
Sirin, E., Parsia, B., Grau, B. C., Kalyanpur, A., and Katz,
Y. (2007). Pellet: A practical owl-dl reasoner. Web
Semant., 5(2):51—-53.
Sorva, J., L
¨
onnberg, J., and Malmi, L. (2013). Stu-
dents’ ways of experiencing visual program simula-
tion. Computer Science Education, 23(3):207–238.
Sorva, J. and Sirki
¨
a, T. (2010). Uuhistle: A software tool for
visual program simulation. In Proceedings of the 10th
Koli Calling International Conference on Computing
Education Research, Koli Calling ’10, page 49–54,
New York, NY, USA. Association for Computing Ma-
chinery.
Sychev, O., Denisov, M., and Anikin, A. (2020). Verify-
ing algorithm traces and fault reason determining us-
ing ontology reasoning. In Taylor, K. L., Gonc¸alves,
R., L
´
ecu
´
e, F., and Yan, J., editors, Proceedings of
the ISWC 2020 Demos and Industry Tracks, Globally
online, November 1-6, 2020 (UTC), volume 2721 of
CEUR Workshop Proceedings, pages 49–54. CEUR-
WS.org.
Sychev, O., Denisov, M., and Terekhov, G. (2021). How
it works: Algorithms - a tool for developing an un-
derstanding of control structures. In Proceedings of
the 26th ACM Conference on Innovation and Technol-
ogy in Computer Science Education V. 2, ITiCSE ’21,
page 621–622, New York, NY, USA. Association for
Computing Machinery.
Virtanen, A., Lahtinen, E., and J
¨
arvinen, H.-M. (2005). Vip,
a visual interpreter for learning introductory program-
ming with c++. In Kolin Kolistelut - Koli Calling 2005
Conference on Computer Science Education, pages
125–130.
Using Software Reasoning to Determine Domain-law Violations and Provide Explanatory Feedback: Expressions Tutor Example
123