Predicting Rough Error Causes in Novice Programmers Using Cognitive Level
摘要
Novice programmers face various errors during the learning of a programming language. Most of them need help from instructors since they lack error resolution skills. On the other side, instructors spend a lot of time figuring out students’ error causes. Long error detection times result in delayed and failed feedback, leading to a loss of student motivation. To support instructor’s fast feedback, a detection method of error cause is needed. Existing detection methods, which are code-based, detect common and specific errors that can be identified by analyzing source code. These methods do not cover the diverse error patterns of novice programmers sufficiently, such as logical defects. To resolve this issue, it may be beneficial to detect rough and correct error causes of diverse error patterns. In this paper, a prediction method of rough error cause is proposed by considering not only source code, but also problem information, execution results, and the cognitive level indicating programming skills. We assume that different programming skills lead to different error patterns, which can help roughly but precisely predict error causes of runtime and logic errors in novice programmers. For performance evaluation, data from two introductory programming courses are used to validate the effectiveness of the cognitive level. Additionally, the usability for fast feedback is validated by comparing the error causes detection times of the instructors in each case.