A Survey of Automated Programming Hint Generation -- The HINTS Framework
arXiv:1908.11566 · doi:10.1145/3469885
Abstract
Automated tutoring systems offer the flexibility and scalability necessary to facilitate the provision of high quality and universally accessible programming education. In order to realise the full potential of these systems, recent work has proposed a diverse range of techniques for automatically generating hints to assist students with programming exercises. This paper 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 (HINTS) framework, and it surveys recent work in the context of this framework. It discusses important implications of the survey and framework, including the need to further develop evaluation methods and the importance of considering hint technique components when designing, communicating and evaluating hint systems. Ultimately, this paper is designed to facilitate future opportunities for the development, extension and comparison of automated programming hint techniques in order to maximise their educational potential.
26 pages, 6 figures
References in corpus (2)
Cited by in corpus (8)
- "It's Weird That it Knows What I Want": Usability and Interactions with Copilot for Novice Programmers
- NuzzleBug: Debugging Block-Based Programs in Scratch
- DETECT: A Hierarchical Clustering Algorithm for Behavioural Trends in Temporal Educational Data
- TriviaHG: A Dataset for Automatic Hint Generation from Factoid Questions
- Howzat? Appealing to Expert Judgement for Evaluating Human and AI Next-Step Hints for Novice Programmers
- ast2vec: Utilizing Recursive Neural Encodings of Python Programs
- SCRIPT: Implementing an Intelligent Tutoring System for Programming in a German University Context
- WikiHint: A Human-Annotated Dataset for Hint Ranking and Generation