ABSTRACT

Our model is motivated by patterns of behavior we repeatedly observed in video-taped interviews of novice programmers solving programming prcblems (see Bonar, 1985, for a complete discussion). In particular, we characterize what happens when a novice produces a bug:

While solving a programming problem (writing a program), novtces will encounter some aspect of the problem they don't understand (an impasse). In order to move beyond the impasse, novices cast about for a way to resolve the aspect of the problem they don't understand (a patch). Frequently, that resolution involves an appeal to their knowledge of natural language step-by-step procedures that would be applicable in a similar situation.