-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Canon Maranda edited this page Feb 1, 2024
·
3 revisions
This is a feature-rich JUnit autograding solution for Gradescope programming assignments. Unlike most existing autograder wrappers, this program does not require one to modify JUnit test files to work. Tests are wrapped in a decorator pattern so that results are captured and properly processed (including errors). Simply set your configuration, add any test packages you'd like to run against student code, and upload.
This repository includes autograder templates for the four types of programming assignments used in CSSE220 (Rose-Hulman's introduction to OOP course):
- Homework with JUnit tests. When student code is uploaded to Gradescope, it runs against the provided tests and outputs a score based on how many passed.
- Exam with JUnit tests. Similar to the previous template but allows students to download starter code. They will first upload a small file to the assignment, and Gradescope will provide a link to download a Java package.
- Manually graded homework. Students will upload their files to Gradescope, which are to be graded offline and by hand. This is commonly used for graphics assignments and other programs where JUnit tests would be infeasible. This template will check to ensure all necessary files are submitted.
- Manually graded exams. Students will upload a small file to retrieve starter code, then upload their solutions when finished. Submissions are to be downloaded and graded by hand. This template will check to ensure all necessary files are submitted.
I would like to thank the following people:
- All former and current CSSE220 students and teaching assistants for their contributions to this project. They have rigorously tested the system and provided valuable feedback to make the autograder work for everyone.
- Dr. Mark Hays for his support with Java test runners.
- Dr. Ian Ludden for his motivation to implement new features for programming exams.
- Dr. Aaron Wilkin for initially inspiring me to take on this project.
- Dr. Jason Yoder for his support with testing, debugging, and motivation. His ideas and contributions have brought this project to a level that I would have never imagined.
- Amol Rama for his assistance with rewriting the graphical tools used to create autograders and process student submissions.