Debug It: A debugging practicing system

Abstract This study reported the research findings on improving programming skills of novice programmers by way of debugging practices. There were two objectives of the debugging training: (1) to uncover and to correct any misconceptions of the programmers; and (2) to improve the debugging abilities of the programmers. To meet these objectives, a model of debugging practices, DebugIt, was presented. The proposed model called for supervised debugging practices on short programs involving frequently committed programming errors. A system, DebugIt:Loop, was developed specifically for debugging practices on programs with loop related errors. Two sets of experiments were conducted with 26 college students and 46 senior high school students enrolled in introductory Pascal courses. For each experiment, students were randomly assigned into the experimental group (using DebugIt:loop for debugging practice) and the control group (using traditional programming practices). A posttest was administered to compare the debugging and errorless programming abilities among the students in the two groups. The statistical procedure of an ANCOVA was used to analyze the gathered data. The results showed that this model of supervised debugging practices was effective in improving novice programmers' programming skills.

[1]  Allen B. Tucker,et al.  Computing Curricula 1991 , 1991, CACM.

[2]  Rocky L. Stewart,et al.  Biosphere 2 nerve system , 1991, CACM.

[3]  Luann K. Stemler Effects of Instruction on the Misconceptions About Programming in BASIC , 1989 .

[4]  Glenford J. Myers,et al.  A controlled experiment in program testing and code walkthroughs/inspections , 1978, CACM.

[5]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: A Process Analysis , 1984, Int. J. Man Mach. Stud..

[6]  Rockford J. Ross,et al.  Dancing with DynaLab: endearing the science of computing to students , 1996, SIGCSE '96.

[7]  Roy D. Pea,et al.  Language-Independent Conceptual “Bugs” in Novice Programming , 1986 .

[8]  Rosann Webb Collins,et al.  An Experimental Investigation of Software Error Detection by Students , 1988 .

[9]  José J. Cañas,et al.  Mental models and computer programming , 1994, Int. J. Hum. Comput. Stud..

[10]  John A. Gould,et al.  Some Psychological Evidence on How People Debug Computer Programs , 1975, Int. J. Man Mach. Stud..

[11]  Søren Lauesen,et al.  Debugging techniques , 1979, Softw. Pract. Exp..

[12]  Annemarie Hauf,et al.  Computers in education , 1983 .

[13]  Allen B. Tucker,et al.  A summary of the acm/ieee-cs joint curriculum task force report: computing curricula 1991 , 1991 .

[14]  Alan C. Benander,et al.  An analysis of debugging techniques , 1989 .

[15]  John R. Anderson,et al.  A model of novice debugging in LISP , 1986 .

[16]  Dan N. Stone,et al.  The Impact of Pascal Education on Debugging Skill , 1990, Int. J. Man Mach. Stud..

[17]  L. Gugerty,et al.  Debugging by skilled and novice programmers , 1986, CHI '86.