All freshmen at the United States Military Academy take an information technology course in which they learn fundamental programming skills using Java. For novice programmers, Java's compile-time errors can be undecipherable. Instructors noted that students made the same mistakes and became frustrated trying to understand the error messages and correct their code often wasting hours of time on a simple error. Given our focus on problem solving in the course as opposed to debugging code, we needed a new approach. Our initial premise was that we could significantly enhance the student experience and instructor workload by catching and explaining the top fifty programming errors in a pre-compiler. To empower the students, we developed a program called Gauntlet that pre-processes student source code and explains in layman's terms each of the syntax errors. Gauntlet also finds many common novice-level semantic errors that do not necessarily result in syntax errors. Gauntlet empowers students to solve their own problems with system development efforts.
[1]
Elliot Soloway,et al.
Novice mistakes: are the folk wisdoms correct?
,
1986,
CACM.
[2]
Tom Schorsch,et al.
CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors
,
1995
.
[3]
Joseph L. Zachary,et al.
Automated feedback on programs means students need less help from teachers
,
2001,
SIGCSE '01.
[4]
Martin Ruckert,et al.
Educational C
,
1993,
SIGCSE '93.
[5]
Rebecca T. Mercuri,et al.
Identifying and correcting Java programming errors for introductory computer science students
,
2003,
SIGCSE.
[6]
Stephen N. Freund,et al.
Thetis: an ANSI C programming environment designed for introductory use
,
1996,
SIGCSE '96.
[7]
Michael Kölling.
The BlueJ Tutorial
,
2000
.