Reaction for: Novice Mistakes by Matt Amdur

Debugging is an important skill that needs to be emphasized to introductory students. I agree that most problems can be broken down into two types, language problems and plan composition problems; but teaching students how to debug composition problems seems of much greater importance.

Language problems are described as errors due to a student's misunderstanding of the actual syntax. While it can be very difficult for a student to learn how to translate their thoughts into code, I feel that the student can catch most language-based errors. There are many reference guides, code samples, and people that can answer syntactical questions; and although it may be difficult, when students are confused they should seek out help. There are enough resources so that students should never have to guess when it comes to syntax.

Composition problems seem to be more difficult to deal with. Most composition problems can be caught with testing and hand simulation. For instance, thoroughly testing the examples from the paper would have shown that they didn't work correctly. If tracing through code were emphasized more, students would catch their errors as they coded. Also, if testing were emphasized, students would learn to see when their programs didn't work and why. The most important part of learning how to debug is finding your own errors.

Overall, I feel that as you learn more syntax you get away from the language-based errors. It seems far more difficult, however, to get away from the composition based errors.


Reactions


[BACK]