Recent approaches for covering solution space of intelligent tutoring systems for programming

Authors

  • Van Y Nguyen Ho Chi Minh City Cadre Academy, Vietnam

Corressponding author's email:

nguyenvany_tcb@yahoo.com

Keywords:

Intelligent Tutoring System, Programming Tutor, Programming Exercises, Solution Space, Feedback

Abstract

Introductory programming is an essential part of the curriculum in any engineering disciplines in universities. However, for many beginning students, it is very difficult to learn. In particular, these students often get stuck and frustrated when attempting to solve programming exercises. One way to assist beginning programmers to overcome difficulties in learning to program is to use intelligent tutoring systems (ITSs) for programming, which can provide students with personalized hints of students’ solving process in programming exercises. In ITSs for programming, a single programming exercise may produce many alternative solutions from students. It is difficult to build ITSs for programming due to the complexity and variety of possible solutions. In order for the students to learn from the system, it is necessary for them to receive feedback on their solutions to the programming exercises. To provide personalized feedback to students who are solving programming exercises effectively, the ITSs for programming must be able to cover a large space of possible solutions. The goal of this paper is to provide a brief review of the works in the literature related to this problem.

Downloads: 0

Download data is not yet available.

References

Keuning, H. (2014). Strategy-based feedback for imperative programming exercises. PhD thesis, Utrecht University.

Glassman, E. L., Scott, J., Singh, R., Guo, P. J., & Miller, R. C. (2015). OverCode: Visualizing variation in student solutions to programming problems at scale. ACM Transactions on Computer-Human Interaction (TOCHI), 22(2), 7.

Weragama, D. S. (2013). Intelligent tutoring system for learning PHP. PhD thesis, Queensland University of Technology

Gómez-Albarrán, M. (2005). The Teaching and Learning of Programming: A Survey of Supporting Software Tools. The Computer Journal, 48(2), 130-144.

Igwe, K., Pillay, N., Corchado, E., Yun-Huoy, C., & Ma, K. (2013). Automatic Programming Using Genetic Programming. In Proceedings of the World Congress on Information and Communication Technologies., Hanoi, Vietnam (pp. 339-344).

Ade-Ibijola, A., Ewert, S., & Sanders, I. (2015). Introducing Code Adviser: A DFA-driven Electronic Programming Tutor. In Implementation and Application of Automata (pp. 307-312). Springer International Publishing.

Holland, J. (2009). A Constraint-Based ITS for the Java Programming Language (Doctoral dissertation, University of Canterbury). Retrieved from https://www.csse.canterbury.ac.nz/research/reports.

Le, N.-T. (2011). Using weighted constraints to build a tutoring system for logic programming. (PhD thesis), University of Hamburg, Germany.

Jin, W., Barnes, T., Stamper, J., Eagle, M. J., Johnson, M. W., & Lehmann, L. (2012, January). Program representation for automatic hint generation for a data-driven novice programming tutor. In Intelligent Tutoring Systems (pp. 304-309). Springer Berlin Heidelberg.

Rivers, K., &Koedinger, K. R. (2015). Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor. International Journal of Artificial Intelligence in Education, 1-28.

Truong, N. (2007). A web-based programming environment for novice programmers (Doctoral dissertation, Queensland University of Technology).

Lazar, T., &Bratko, I. (2014, January). Data-Driven Program Synthesis for Hint Generation in Programming Tutors. In Intelligent Tutoring Systems (pp. 306-311). Springer International Publishing.

Gross, S., Mokbel, B., Paassen, B., Hammer, B., &Pinkwart, N. (2014). Example-based feedback provision using structured solution spaces. International Journal of Learning Technology 10, 9(3), 248-280.

Piech, C., Sahami, M., Huang, J., &Guibas, L. (2015, March). Autonomously Generating Hints by Inferring Problem Solving Policies. In Proceedings of the Second (2015) ACM Conference on Learning@ Scale (pp. 195-204). ACM.

Glassman, E. L., Singh, R., & Miller, R. C. (2014). Feature engineering for clustering student solutions. In Proceedings of the first ACM conference on Learning@ scale conference (pp. 171-172). ACM.

Gulwani, S., Radiček, I., &Zuleger, F. (2014). Feedback generation for performance problems in introductory programming assignments. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp. 41-51). ACM.

Le, N. T., Strickroth, S., Gross, S., &Pinkwart, N. (2013). A review of AI-supported tutoring approaches for learning programming. In Advanced Computational Methods for Knowledge Engineering (pp. 267-279). Springer International Publishing.

Hooshyar, Danial (2016). A Flowchart-Based Intelligent Tutoring System Model to Improve Students' Problem-Solving Skills. PhD thesis, University of MalayaKuala Lumpur, Malaysia. Retrieved from http://studentsrepo.um.edu.my/6244/1/Thesis.pdf

Downloads

Published

01-11-2021

How to Cite

[1]
V. Y. Nguyen, “Recent approaches for covering solution space of intelligent tutoring systems for programming”, JTE, vol. 12, no. 2, pp. 78–89, Nov. 2021.

Issue

Section

Research Article

Categories