MARCEL Simulating the Novice Programmer
This volume describes a cognitive model of student programmers, and an implementation of that model that allows student programmers to be simulated. The focus of the model is on the problem solving that students perform to generate both correct and buggy programs as well as on the individual differences that cause different students to generate different programs for the same programming task. By developing a taxonomy of student programmer knowledge; a model of student program generation; and a preliminary model of individual differences, this research contributes to a better understanding of four areas of the study of student programmers. The most important claim is that a cognitive model of student program generation fits within a properly fleshed out generate test-and-debug (GTD) problem solving architecture in which impasse/repair knowledge plays a key role. This research is important theoretically because it explores the use of a GTD impasse/repair problem solving architecture in a new domain, and important practically because of its educational implications for programming instructions.