Just so stories

Abstract
Teachers see many more buggy programs than they do correct programs. We view this volume of buggy programs as riches to be mined: as windows into the thought processes of the students. In this paper we will describe one of the methods we employ in analyzing buggy programs: "just so bug stories", in which we generate hypotheses as to the misconceptions on the student's part that may have led to the observed program bugs. Our goal in presenting this discussion is to convince the reader of the potential for improved programming instruction that can come from paying attention to the bugs in a student's program: by truly understanding what the student was thinking about, we are in a much better position to offer counsel to the student.