Augmenting compiler error reporting in the Karel++Microworld

This paper illustrates the problems involved with novices learning to program and the role of the compiler in identifying and reporting on errors. Errors associated with the structure and syntax of the program are easily identified and can normally be reported on by the compiler in a form that may understandable to programmers with a good background knowledge. Once these problems have been identified another class of problem may emerge. That of simple user error in mistyping, or misremembering the names of programming elements that have been declared and defined earlier in the code. This paper describes an application of a cross correlation technique that has been used in transmitting data through space by NASA to looking for best-fit word matches in the symbol table produced as the program is compiled. A match with a pre-declared name and one with three typographical errors is shown.

[1]  Dan Roth,et al.  A Winnow-Based Approach to Context-Sensitive Spelling Correction , 1998, Machine Learning.

[2]  Tanya McGill,et al.  A conceptual framework for analyzing students’ knowledge of programming , 1997 .

[3]  C. Burrell Visualising and interpreting individual student models developed whilst learning the foundations of object oriented programming , 2001, 31st Annual Frontiers in Education Conference. Impact on Engineering and Science Education. Conference Proceedings (Cat. No.01CH37193).