Access the full text.
Sign up today, get DeepDyve free for 14 days.
Rahul Gupta, Aditya Kanade, S. Shevade (2018)
Deep Reinforcement Learning for Programming Language CorrectionArXiv, abs/1801.10467
Kelly Rivers, K. Koedinger (2014)
Automating Hint Generation with Solution Space Path Construction
Benjamin Paassen, Joris Jensen, B. Hammer (2016)
Execution Traces as a Powerful Data Representation for Intelligent Tutoring Systems for Programming
external resources → relevant external resources
T. Price, Rui Zhi, T. Barnes (2017)
Hint Generation Under Uncertainty: The Effect of Hint Quality on Help-Seeking Behavior
Alex Gerdes (2012)
Ask-Elle: A Haskell TutorPh.D. Dissertation. Universiteit Utrecht.
Timotej Lazar, M. Mozina, I. Bratko (2017)
Automatic Extraction of AST Patterns for Debugging Student Programs
N. Le (2016)
A Classification of Adaptive Feedback in Educational Systems for ProgrammingSyst., 4
student features cycle . Any next steps, missing correct features, etc. can be treated as features of the student program, which can be used to build more hints
student program → student features
Zhenghao Chen, Andy Nguyen, A. Schlender, Jiquan Ngiam (2017)
Real-time programming exercise feedback in MOOCs
(2014)
Test-driven synthesis for automated feedback for introductory computer science assignments
S. Chow, K. Yacef, I. Koprinska, J. Curran (2017)
Automated Data-Driven Hints for Computer Programming StudentsAdjunct Publication of the 25th Conference on User Modeling, Adaptation and Personalization
N. Hodges, I. Franks (2004)
The nature of feedback
steps → next steps
Thomas Tiam-Lee, Kaoru Sumi (2018)
Adaptive Feedback Based on Student Emotion in a System for Programming Practice
H. Keuning, J. Jeuring, B. Heeren (2016)
Towards a Systematic Review of Automated Feedback Generation for Programming ExercisesProceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education
the set of all possible web links are narrowed down based on a relevance criterion - that they link to documentation about prelude functions appearing in the selected teacher annotations
A. Mitrovic (2012)
Fifteen years of constraint-based tutors: what we have achieved and where we are goingUser Modeling and User-Adapted Interaction, 22
C. Piech, Jonathan Huang, A. Nguyen, Mike Phulsuksombati, M. Sahami, L. Guibas (2015)
Learning Program Embeddings to Propagate Feedback on Student Code
J. Jeuring, Alex Gerdes, B. Heeren (2012)
Ask-Elle: A Haskell Tutor - Demonstration
Monperrus Martin (2018)
Automatic Software RepairACM Computing Surveys (CSUR), 51
Bob Edmison, S. Edwards (2015)
Applying spectrum-based fault localization to generate debugging suggestions for student programmers2015 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)
Aivar Annamaa, Reelika Suviste, V. Vene (2017)
Comparing different styles of automated feedback for programming exercisesProceedings of the 17th Koli Calling International Conference on Computing Education Research
Sumit Gulwani, Ivan Radicek, Florian Zuleger (2014)
Feedback generation for performance problems in introductory programming assignmentsProceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
Teacher annotations are narrowed down to just the ones relevant to the selected next steps
Jessica McBroom, K. Yacef, I. Koprinska, J. Curran (2018)
A Data-Driven Method for Helping Teachers Improve Feedback in Computer Programming Automated Tutors
Andrew Head, Elena Glassman, Gustavo Soares, Ryo Suzuki, L. Figueredo, Loris D'antoni, Bjoern Hartmann (2017)
Writing Reusable Code Feedback at Scale with Mixed-Initiative Program SynthesisProceedings of the Fourth (2017) ACM Conference on Learning @ Scale
T. Price, Rui Zhi, Yihuan Dong, Nicholas Lytle, T. Barnes (2018)
The Impact of Data Quantity and Source on the Quality of Data-Driven Hints for Programming
The sequence of replacement tokens (which can be thought of as a set of subsequences) is narrowed down to a single subsequence based on a quality criterion - that it corrects the student program
T. Price, Yihuan Dong, Rui Zhi, Benjamin Paassen, Nicholas Lytle, Veronica Catété, T. Barnes (2019)
A Comparison of the Quality of Data-Driven Programming Hint Generation AlgorithmsInternational Journal of Artificial Intelligence in Education, 29
teacher hints → relevant teacher hints
V. Lee, Yuen-Tak Yu, C. Tang, Tak-Lam Wong, C. Poon (2018)
ViDA: A virtual debugging advisor for supporting learning in computer programming coursesJ. Comput. Assist. Learn., 34
John Stamper, T. Barnes, L. Lehmann, M. Croy (2008)
The Hint Factory: Automatic Generation of Contextualized Help for Existing Computer Aided Instruction
G. Haldeman, Andrew Tjang, Monica Babes-Vroman, Stephen Bartos, Jay Shah, Danielle Yucht, Thu Nguyen (2018)
Providing Meaningful Feedback for Autograding of Programming AssignmentsProceedings of the 49th ACM Technical Symposium on Computer Science Education
Victor Marin, Tobin Pereira, S. Sridharan, Carlos Rivero (2017)
Automated Personalized Feedback in Introductory Java Programming MOOCs2017 IEEE 33rd International Conference on Data Engineering (ICDE)
N. Le, Sven Strickroth, S. Gross, Niels Pinkwart (2013)
A Review of AI-Supported Tutoring Approaches for Learning Programming
general features → steps . Program states can be collected together into a state space
C. Piech, M. Sahami, Jonathan Huang, L. Guibas (2015)
Autonomously Generating Hints by Inferring Problem Solving PoliciesProceedings of the Second (2015) ACM Conference on Learning @ Scale
Michael Striewe, M. Goedicke (2014)
A Review of Static Analysis Approaches for Programming Exercises
Benjamin Paassen, B. Hammer, T. Price, T. Barnes, S. Gross, Niels Pinkwart (2017)
The Continuous Hint Factory - Providing Hints in Vast and Sparsely Populated Edit Distance SpacesArXiv, abs/1708.06564
P. Antonucci, H.-Christian Estler, Durica Nikolic, M. Piccioni, B. Meyer (2015)
An Incremental Hint System For Automated Programming AssignmentsProceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education
Timotej Lazar, A. Sadikov, I. Bratko (2018)
Rewrite Rules for Debugging Student Programs in Programming TutorsIEEE Transactions on Learning Technologies, 11
Saksham Sharma, P. Agarwal, Parv Mor, Amey Karkare (2018)
TipsC: Tips and Corrections for programming MOOCs
Alex Gerdes, B. Heeren, J. Jeuring, L. Binsbergen (2017)
Ask-Elle: an Adaptable Programming Tutor for Haskell Giving Automated FeedbackInternational Journal of Artificial Intelligence in Education, 27
Model solutions are transformed into a series of steps called program strategies using a strategy language
peer data → general features
general features → missing correct features
Sahil Bhatia, Rishabh Singh (2016)
Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural NetworksArXiv, abs/1603.06129
Josep Silva (2011)
A survey on algorithmic debugging strategiesAdv. Eng. Softw., 42
Barry Peddycord, Andrew Hicks, T. Barnes (2014)
Generating Hints for Programming Problems Using Intermediate Output
J. Jeuring, L. Binsbergen, Alex Gerdes, B. Heeren (2014)
Model solutions and properties for diagnosing student programs in Ask-Elle
T. Price, Yihuan Dong, T. Barnes (2016)
Generating Data-driven Hints for Open-ended Programming
Tyne Crow, Andrew Luxton-Reilly, B. Wünsche (2018)
Intelligent tutoring systems for programming education: a systematic reviewProceedings of the 20th Australasian Computing Education Conference
H. Keuning, J. Jeuring, B. Heeren (2018)
A Systematic Literature Review of Automated Feedback Generation for Programming ExercisesACM Transactions on Computing Education (TOCE), 19
Petri Ihantola, Tuukka Ahoniemi, V. Karavirta, O. Seppälä (2010)
Review of recent systems for automatic assessment of programming assignments
Andrew Hicks, Barry Peddycord, T. Barnes (2014)
Building Games to Learn from Their Players: Generating Hints in a Serious Game
M. Mozina, Timotej Lazar, I. Bratko (2018)
Identifying typical approaches and errors in Prolog programming with argument-based machine learningExpert Syst. Appl., 112
H. Keuning, B. Heeren, J. Jeuring (2014)
Strategy-based feedback in a programming tutor
Kirsti Ala-Mutka (2005)
A Survey of Automated Assessment Approaches for Programming AssignmentsComputer Science Education, 15
María Estrada, Ramón Zataraín-Cabada, Francisco Hernández, R. Bustillos, C. García (2015)
An Affective and Cognitive Tutoring System for Learning Programming
Andy Nguyen, C. Piech, Jonathan Huang, L. Guibas (2014)
Codewebs: scalable homework search for massive open online programming coursesProceedings of the 23rd international conference on World wide web
T. Price, Rui Zhi, T. Barnes (2017)
Evaluation of a Data-driven Feedback Algorithm for Open-ended Programming
Ryo Suzuki, Gustavo Soares, Elena Glassman, Andrew Head, Loris D'antoni, Bjoern Hartmann (2017)
Exploring the Design Space of Automatically Synthesized Hints for Introductory Programming AssignmentsProceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems
Kelly Rivers, K. Koedinger (2015)
Data-Driven Hint Generation in Vast Solution Spaces: a Self-Improving Python Programming TutorInternational Journal of Artificial Intelligence in Education, 27
Victor J. Marin, Tobin Pereira, Srinivas Sridharan, Carlos R. Rivero (2017)
Automated personalized feedback in introductory java programming moocsProceedings of the 2017 IEEE 33rd International Conference on Data Engineering (ICDE’17). IEEE, 2017
Automated tutoring systems offer the flexibility and scalability necessary to facilitate the provision of high-quality and universally accessible programming education. To realise the potential of these systems, recent work has proposed a diverse range of techniques for automatically generating feedback in the form of hints to assist students with programming exercises. This article integrates these apparently disparate approaches into a coherent whole. Specifically, it emphasises that all hint techniques can be understood as a series of simpler components with similar properties. Using this insight, it presents a simple framework for describing such techniques, the Hint Iteration by Narrow-down and Transformation Steps framework, and surveys recent work in the context of this framework. Findings from this survey include that (1) hint techniques share similar properties, which can be used to visualise them together, (2) the individual steps of hint techniques should be considered when designing and evaluating hint systems, (3) more work is required to develop and improve evaluation methods, and (4) interesting relationships, such as the link between automated hints and data-driven evaluation, should be further investigated. Ultimately, this article aims to facilitate the development, extension, and comparison of automated programming hint techniques to maximise their educational potential.
ACM Computing Surveys (CSUR) – Association for Computing Machinery
Published: Oct 4, 2021
Keywords: Automated hint and feedback generation
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.