Abstract

In all engineering discipline in universities, introductory programming is an essential part of the curriculum. However, many students find great difficulty with the learning of programming without instructor assistance and it becomes a barrier to their further studies of computer science and other disciplines.Intelligent Programming Tutors (IPTs) assist students to overcome difficulties in solving programming exercises, when they don’t know how to proceed or they unable to find an error in their current state. Such a student may benefit from hints, guiding her toward a more complete and/or more correct version and allowing her to continue working on her own (Aleven et al., 2016).However, traditional IPTs take much time to create the expert knowledge because in computer programming tasks, the space of possible solutions is too large (Piech et al., 2015b). New development methods have emerged in recent years, which provide hints without an expert model. These techniques are based on data-driven approaches and/or program repair techniques and provide hints in the form of edits (such as inserting or deleting a piece of code). Students can apply these hints in their current state to change it into a more correct and/or more complete state. This paper aims to provide a best understanding of these new techniques and presents a comparative study between different approaches of automatic hint generation by presenting the forces and weaknesses of each approach.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call