Jeffrey Bosboom's Blog

[blog] [projects] [about]

Stipulator

Stipulator is a program that automates grading of programming assignments written in the Java programming language. Instructors write a set of JUnit unit tests, which Stipulator compiles and runs against each of the student submissions. It then collects the results into a universally-readable CSV file, which instructors can view or import into their grading program.

Stipulator is designed to involve as little user interaction as possible. After telling Stipulator where the student submissions and tester files are, grading a lab involves only one click. This makes it easy to repeatedly test labs in response to student requests. Tests can also be grouped together to make it easy to grade all assignments for one class or all classes for one assignment.

Download binaries, source, manual. Stipulator requires at least JDK 5, but if your student submissions use features from later Java versions, you’ll need a JDK at least as recent. Note that a JRE is not enough, because it won’t include a Java source compiler.

I wrote Stipulator as a high school senior, and aside from a few bug fixes, have not looked at the code since then. I’ve received a couple of requests for an integrated editor to fix syntax errors in student submissions. (My teachers’ philosophy was that if a student doesn’t compile his or her code before submitting, he or she deserves the zero.) I’ve considered migrating to the NetBeans Platform to reuse the editor from the NetBeans IDE, but I never got around to it. Thus Stipulator is not under active development.