ABSTRACT

Researchers have recently been trying to gain an understanding of the kinds of mistakes novice programmers are likely to make [2, 4, 7, 11,15, 19]. One of the main motivations for these efforts is to improve the quality of programming education through a better understanding of what goes wrong. In this article we focus on two common perceptions — what we will call folk wisdoms — about bugs:

Just a few types of bugs can account for a majority of the mistakes in students' programs.

Most bugs can be attributed to student misconceptions about language constructs.