PyGrader is a tool for grading Python assignments in introductory programming courses. The grader provides a module file that encodes how the assignment is to be graded, and a command-line interface helps check, modify, or manually regrade the auto-generated scores and comments. It can then export the grades to a .csv file.
First, the grader script executes the student's submitted code, and checks if the output matches the expected output.
The grader script also attempts to parse the output to check if the correct answers were produced. It then estimates a score for the correct solution.
Finally, the grader script estimates an overall grade, and allows the user to add or remove points as they see fit. Once the grade is finalized, the user can also append custom comments, and approve the final results.
I used this tool to help grade assignments for a large number of students as a TA for the CS 303E course during summer 2014. It saved me a lot of time and energy.