ABSTRACT

The importance of debugging as a general cognitive skill is best articulated by Seymour Papert [Papert 80]:

Many children are held back in their learning because they have a model of learning in which you either “got it” or “got it wrong.” But when you learn to program a computer you almost never get it right the first time. Learning to be a master programmer is learning to become highly skilled at isolating and correcting “bugs,” the parts that keep the program from working. The question to ask about the program is not whether it is right or wrong, but if it is fixable. If this way of looking at intellectual products were generalized to how the larger culture thinks about knowledge and its acquisition, we all might be less intimidated by our fears of being wrong.