Abstract
One of the main functions of intelligent tutoring systems is providing feedback to help students solve problems. We present a novel approach to program synthesis that can be used as a basis for automatic hint generation in programming tutors. Instead of using a state-space representation of the problem-solving process, our method finds a set of textual edits commonly used by students on program code. Given an incorrect program it then synthesizes new programs by applying sequences of edits until a solution is found. The edit sequence can be used to provide hints with varying levels of detail. Experimental results confirm the feasibility of our approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Mitrovic, A., Martin, B., Mayo, M.: Using evaluation to shape ITS design: Results and experiences with SQL-Tutor. User Modeling and User-Adapted Interaction 12(2-3), 243–279 (2002)
Le, N.-T., Menzel, W.: Using weighted constraints to diagnose errors in logic programming - the case of an ill-defined domain. International Journal of Artificial Intelligence in Education 19(4), 381–400 (2009)
Hong, J.: Guided programming and automated error analysis in an intelligent Prolog tutor. International Journal of Human-Computer Studies 61(4), 505–534 (2004)
Gerdes, A., Jeuring, J., Heeren, B.: An interactive functional programming tutor. In: ITICSE 2012, pp. 250–255. ACM (2012)
Koedinger, K.R., Brunskill, E., Baker, R.S., McLaughlin, E.A., Stamper, J.C.: New potentials for data-driven intelligent tutoring system development and optimization. AI Magazine 34(3), 27–41 (2013)
Barnes, T., Stamper, J.: Automatic hint generation for logic proof tutoring using historical data. Educational Technology & Society 13(1), 3–12 (2010)
Jin, W., Barnes, T., Stamper, J., Eagle, M.J., Johnson, M.W., Lehmann, L.: Program representation for automatic hint generation for a data-driven novice programming tutor. In: Cerri, S.A., Clancey, W.J., Papadourakis, G., Panourgia, K. (eds.) ITS 2012. LNCS, vol. 7315, pp. 304–309. Springer, Heidelberg (2012)
Rivers, K., Koedinger, K.R.: Automatic generation of programming feedback; A data-driven approach. In: Artificial Intelligence in Education, pp. 50–59 (2013)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Lazar, T., Bratko, I. (2014). Data-Driven Program Synthesis for Hint Generation in Programming Tutors. In: Trausan-Matu, S., Boyer, K.E., Crosby, M., Panourgia, K. (eds) Intelligent Tutoring Systems. ITS 2014. Lecture Notes in Computer Science, vol 8474. Springer, Cham. https://doi.org/10.1007/978-3-319-07221-0_38
Download citation
DOI: https://doi.org/10.1007/978-3-319-07221-0_38
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-07220-3
Online ISBN: 978-3-319-07221-0
eBook Packages: Computer ScienceComputer Science (R0)