{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,18]],"date-time":"2026-05-18T16:47:18Z","timestamp":1779122838255,"version":"3.51.4"},"reference-count":34,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[2017,3,1]],"date-time":"2017-03-01T00:00:00Z","timestamp":1488326400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2017,3,1]],"date-time":"2017-03-01T00:00:00Z","timestamp":1488326400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2026,4,28]],"date-time":"2026-04-28T00:00:00Z","timestamp":1777334400000},"content-version":"vor","delay-in-days":3345,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["International Journal of Artificial Intelligence in Education"],"published-print":{"date-parts":[[2017,3]]},"DOI":"10.1007\/s40593-015-0070-z","type":"journal-article","created":{"date-parts":[[2015,10,30]],"date-time":"2015-10-30T17:48:43Z","timestamp":1446227323000},"page":"37-64","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":160,"title":["Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor"],"prefix":"10.1016","volume":"27","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7004-8080","authenticated-orcid":false,"given":"Kelly","family":"Rivers","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kenneth R.","family":"Koedinger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1007\/s40593-015-0070-z_bib1","doi-asserted-by":"crossref","unstructured":"Altadmri, A., & Brown, N. C. (2015). 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 522\u2013527).","DOI":"10.1145\/2676723.2677258"},{"issue":"4","key":"10.1007\/s40593-015-0070-z_bib2","doi-asserted-by":"crossref","first-page":"467","DOI":"10.1207\/s15516709cog1304_1","article-title":"Skill acquisition and the LISP tutor","volume":"13","author":"Anderson","year":"1989","journal-title":"Cognitive Science"},{"key":"10.1007\/s40593-015-0070-z_bib3","doi-asserted-by":"crossref","unstructured":"Barnes, T., & Stamper, J. (2008). Toward automatic hint generation for logic proof tutoring using historical student data. In Proceedings of the 9th international conference on Intelligent Tutoring Systems (pp. 373\u2013382).","DOI":"10.1007\/978-3-540-69132-7_41"},{"key":"10.1007\/s40593-015-0070-z_bib4","doi-asserted-by":"crossref","unstructured":"Carter, J., Dewan, P., & Pichiliani, M. (2015). Towards incremental separation of surmountable and insurmountable programming difficulties. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (pp. 241\u2013246).","DOI":"10.1145\/2676723.2677294"},{"key":"10.1007\/s40593-015-0070-z_bib5","doi-asserted-by":"crossref","unstructured":"Corbett, A. T., & Anderson, J. R. (2001). Locus of feedback control in computer-based tutoring: Impact on learning rate, achievement and attitudes. In Proceedings of the SIGCHI conference on Human factors in computing systems (pp. 245\u2013252).","DOI":"10.1145\/365024.365111"},{"key":"10.1007\/s40593-015-0070-z_bib6","series-title":"Handbook of human-computer interaction","first-page":"849","article-title":"Intelligent tutoring systems","author":"Corbett","year":"1997"},{"key":"10.1007\/s40593-015-0070-z_bib7","unstructured":"Eagle, M., & Barnes, T. (2013). Evaluation of automatically generated hint feedback. In Proceedings of the 6th International Conference on Educational Data Mining (pp. 372\u2013374)."},{"key":"10.1007\/s40593-015-0070-z_bib8","unstructured":"Eagle, M., Johnson, M., & Barnes, T. (2012). Interaction networks: Generating high level hints based on network community clustering. In Proceedings of the 5th International Conference on Educational Data Mining (pp. 164\u2013167)."},{"key":"10.1007\/s40593-015-0070-z_bib9","unstructured":"Folsom-Kovarik, J. T., Schatz, S., & Nicholson, D. (2010). Plan ahead: Pricing ITS learner models. In Proceedings of the 19th Behavior Representation in Modeling & Simulation (BRIMS) Conference (pp. 47\u201354)."},{"key":"10.1007\/s40593-015-0070-z_bib10","doi-asserted-by":"crossref","unstructured":"Fossati, D., Di Eugenio, B., Ohlsson, S., Brown, C., Chen, L., & Cosejo, D. (2009). I learn from you, you learn from me: How to make iList learn from students. In Proceedings of the 2009 conference on Artificial Intelligence in Education: Building Learning Systems that Care: From Knowledge Representation to Affective Modelling (pp. 491\u2013498).","DOI":"10.3233\/978-1-60750-028-5-491"},{"key":"10.1007\/s40593-015-0070-z_bib11","doi-asserted-by":"crossref","unstructured":"Gerdes, A., Jeuring, J. T., & Heeren, B. J. (2010). Using strategies for assessment of programming exercises. In Proceedings of the 41st ACM technical symposium on Computer science education (pp. 441\u2013445).","DOI":"10.1145\/1734263.1734412"},{"key":"10.1007\/s40593-015-0070-z_bib12","doi-asserted-by":"crossref","unstructured":"Gerdes, A., Jeuring, J., & Heeren, B. (2012). An interactive functional programming tutor. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education (pp. 250\u2013255).","DOI":"10.1145\/2325296.2325356"},{"issue":"3","key":"10.1007\/s40593-015-0070-z_bib13","doi-asserted-by":"crossref","first-page":"248","DOI":"10.1504\/IJLT.2014.065752","article-title":"Example-based feedback provision using structured solution spaces","volume":"9","author":"Gross","year":"2014","journal-title":"International Journal of Learning Technology"},{"key":"10.1007\/s40593-015-0070-z_bib14","doi-asserted-by":"crossref","unstructured":"Hicks, A., Peddycord III, B., & Barnes, T. (2014). Building Games to Learn from Their Players: Generating Hints in a Serious Game. In Proceedings of the 12th international conference on Intelligent Tutoring Systems (pp. 312-317).","DOI":"10.1007\/978-3-319-07221-0_39"},{"key":"10.1007\/s40593-015-0070-z_bib15","unstructured":"Hosseini, R., & Brusilovsky, P. (2013). JavaParser: A fine-grain concept indexing tool for java problems. In The First Workshop on AI-supported Education for Computer Science (AIEDCS 2013) (pp. 60-63)."},{"key":"10.1007\/s40593-015-0070-z_bib16","unstructured":"Kimball, R. (1982). A self-improving tutor for symbolic integration. In D. Sleeman & J.S. Brown (Eds.), Intelligent tutoring systems (Vol. 1) (pp. 283-307). Academic Press."},{"key":"10.1007\/s40593-015-0070-z_bib17","unstructured":"Koedinger, K. R., McLaughlin, E. A., & Stamper, J. C. (2012). Automated Student Model Improvement. In Proceedings of the 5th International Conference on Educational Data Mining (pp. 17\u201324)."},{"key":"10.1007\/s40593-015-0070-z_bib18","doi-asserted-by":"crossref","unstructured":"Lazar, T., & Bratko, I. (2014). Data-driven program synthesis for hint generation in programming tutors. In Proceedings of the 12th international conference on Intelligent Tutoring Systems (pp. 306\u2013311).","DOI":"10.1007\/978-3-319-07221-0_38"},{"key":"10.1007\/s40593-015-0070-z_bib19","doi-asserted-by":"crossref","unstructured":"Le, N. T., & Menzel, W. (2007). Using constraint-based modelling to describe the solution space of ill-defined problems in logic programming. In Proceedings of the 6th international conference on Advances in web based learning (pp. 367\u2013379).","DOI":"10.1007\/978-3-540-78139-4_33"},{"key":"10.1007\/s40593-015-0070-z_bib20","doi-asserted-by":"crossref","unstructured":"Le, N. T., Strickroth, S., Gross, S., & Pinkwart, N. (2013). A review of AI-supported tutoring approaches for learning programming. In N.T. Nguyen, T. van Do, & H. A. le Thi (Eds.), Advanced Computational Methods for Knowledge Engineering (pp. 267\u2013279). Springer International Publishing.","DOI":"10.1007\/978-3-319-00293-4_20"},{"key":"10.1007\/s40593-015-0070-z_bib21","unstructured":"McLaren, B.M., Koedinger, K.R., Schneider, M., Harrer, A., & Bollen, L. (2004). Bootstrapping novice data: semi-automated tutor authoring using student log files. In The Proceedings of the Workshop on Analyzing Student-Tutor Interaction Logs to Improve Educational Outcomes, Seventh International Conference on Intelligent Tutoring Systems (ITS-2004)."},{"key":"10.1007\/s40593-015-0070-z_bib22","unstructured":"Min, W., Mott, B., & Lester, J. (2014). Adaptive scaffolding in an intelligent game-based learning environment for computer science. In Proceedings of the Second Workshop on AI-supported Education for Computer Science (AIEDCS 2014) (pp. 41\u201350)."},{"key":"10.1007\/s40593-015-0070-z_bib23","doi-asserted-by":"crossref","unstructured":"Moghadam, J. B., Choudhury, R. R., Yin, H., & Fox, A. (2015). AutoStyle: Toward coding style feedback at scale. In Proceedings of the Second (2015) ACM Conference on Learning@Scale (pp. 261\u2013266).","DOI":"10.1145\/2724660.2728672"},{"key":"10.1007\/s40593-015-0070-z_bib24","unstructured":"Peddycord III, B., Hicks, A., & Barnes, T. (2014). Generating hints for programming problems using intermediate output. In Proceedings of the 7th International Conference on Educational Data Mining (pp. 92\u201398)."},{"key":"10.1007\/s40593-015-0070-z_bib25","unstructured":"Perelman, D., Gulwani, S. & Grossman, D. (2014). Test-driven synthesis for automated feedback for introductory computer science assignments. In Proceedings of Data Mining for Educational Assessment and Feedback (ASSESS 2014)."},{"key":"10.1007\/s40593-015-0070-z_bib26","doi-asserted-by":"crossref","unstructured":"Piech, C., Sahami, M., Huang, J., & Guibas, L. (2015). Autonomously generating hints by inferring problem solving policies. In Proceedings of the Second (2015) ACM Conference on Learning@Scale (pp. 195\u2013204).","DOI":"10.1145\/2724660.2724668"},{"key":"10.1007\/s40593-015-0070-z_bib27","unstructured":"Razzaq, L., Heffernan, N. T., & Lindeman, R. W. (2007). What level of tutor interaction is best?. In Proceedings of the 2007 conference on Artificial Intelligence in Education: Building Technology Rich Learning Contexts That Work (pp. 222\u2013229)."},{"key":"10.1007\/s40593-015-0070-z_bib28","doi-asserted-by":"crossref","unstructured":"Rivers, K., & Koedinger, K. R. (2012). A canonicalizing model for building programming tutors. In Proceedings of the 11th international conference on Intelligent Tutoring Systems (pp. 591\u2013593).","DOI":"10.1007\/978-3-642-30950-2_80"},{"key":"10.1007\/s40593-015-0070-z_bib29","doi-asserted-by":"crossref","unstructured":"Rivers, K., & Koedinger, K. R. (2014). Automating hint generation with solution space path construction. In Proceedings of the 12th international conference on Intelligent Tutoring Systems (pp. 329\u2013339).","DOI":"10.1007\/978-3-319-07221-0_41"},{"key":"10.1007\/s40593-015-0070-z_bib30","doi-asserted-by":"crossref","unstructured":"Shih, B., Koedinger, K. R., & Scheines, R. (2011). A response time model for bottom-out hints as worked examples. In C. Romero, S. Venture, M. Pechenizkiy, & R. S.J.D. Baker (Eds.), Handbook of Educational Data Mining (pp. 201\u2013212). CRC Press.","DOI":"10.1201\/b10274-17"},{"key":"10.1007\/s40593-015-0070-z_bib31","doi-asserted-by":"crossref","unstructured":"Singh, R., Gulwani, S. & Solar-Lezama, A. (2013). Automated feedback generation for introductory programming assignments. In Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation (pp. 15\u201326).","DOI":"10.1145\/2491956.2462195"},{"key":"10.1007\/s40593-015-0070-z_bib32","doi-asserted-by":"crossref","unstructured":"Stamper, J. C., Eagle, M., Barnes, T., & Croy, M. (2011). Experimental evaluation of automatic hint generation for a logic tutor. In Proceedings of the 15th international conference on Artificial intelligence in education (pp. 345\u2013352).","DOI":"10.1007\/978-3-642-21869-9_45"},{"issue":"3","key":"10.1007\/s40593-015-0070-z_bib33","doi-asserted-by":"crossref","first-page":"227","DOI":"10.3233\/IRG-2006-16(3)02","article-title":"The behavior of tutoring systems","volume":"16","author":"VanLehn","year":"2006","journal-title":"International Journal of Artificial Intelligence in Education"},{"issue":"4","key":"10.1007\/s40593-015-0070-z_bib34","doi-asserted-by":"crossref","first-page":"360","DOI":"10.1109\/TSE.2003.1191799","article-title":"Transformation-based diagnosis of student programs for programming tutoring systems","volume":"29","author":"Xu","year":"2003","journal-title":"IEEE Transactions on Software Engineering"}],"container-title":["International Journal of Artificial Intelligence in Education"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s40593-015-0070-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s40593-015-0070-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1560429226004488?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1560429226004488?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s40593-015-0070-z","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s40593-015-0070-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,18]],"date-time":"2026-05-18T06:13:44Z","timestamp":1779084824000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1560429226004488"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,3]]},"references-count":34,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,3]]}},"alternative-id":["S1560429226004488"],"URL":"https:\/\/doi.org\/10.1007\/s40593-015-0070-z","relation":{},"ISSN":["1560-4292"],"issn-type":[{"value":"1560-4292","type":"print"}],"subject":[],"published":{"date-parts":[[2017,3]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming Tutor","name":"articletitle","label":"Article Title"},{"value":"International Journal of Artificial Intelligence in Education","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1007\/s40593-015-0070-z","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2015 International Artificial Intelligence in Education Society. Published by Elsevier Ltd","name":"copyright","label":"Copyright"}]}}