Empowering students and building confidence in novice programmers through Gauntlet

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.