Analysis of experts’ and novices’ thinking process in program debugging

Ching-zon Yen
National Taipei University of Education
Taiwan

Ping-huang Wu
Tungnan University
Taiwan

Ching-fang Lin
De Lin Institute of Technology
Taiwan


Program debugging is a complex cognitive process. Since it is an important step in programming, debug training not only improves learner’s programming capacity, but also their problem solving capacity. For the purpose of this paper, three C language experts were invited; novices were represented by three third-year students. All six persons participated in a think-aloud experiment, where every person was given two programs to debug; each program was set up to contain three error types, i.e. syntax, semantic and logic.

The results showed that experts have a better grasp of feedback from the compiler. On the other hand, experts and novices have similar thinking process in syntax debugging. In semantic debugging, experts are able to comprehend the output results, but novices are rather confused; as to logic debugging, novices are less developed in logical structuring. This paper suggests student’s debugging capacity must be reinforced in programming courses, particularly in semantic and logic debugging.