My Projects
turnin_helper
turnin_helper is an incredibly useful project I wrote to assist in grading the first project I graded. It is intended to work in tandem with UCSB CS's turnin program. See the README in the tarball for everything you'll need to know.
Features
- Automatic extraction of stduent's latest submission
- Execute make (of any target) on extracted submissions
- Email all students a private message about their project appended with a generic message about the project
Updates
- 2009-10-23 -- Added support for hyphens ("-") in user names. Verifed against all user names currently in /cs/student and /cs/guest. turnin_helper will throw a warning if the user name has a hyphen followed by a number thus requiring manual extraction and or building of that particular user's submission.
auto_grade
I wrote auto_grade in Winter 2009 following writing turnin_helper to minimize my effort in grading student's projects for CS160, Compilers. Though auto_grade reduces grading time a great deal of effort is needed at the start of a project to define the inputs and outputs. The primary benefit of auto_grade is that it provides immediate feedback to the students in a manor that is completely objective.
Features
- Immediate extraction, build, and score of student's submission
- Immediate feedback to students via email which can contain information such as number of test cases passed as well as a varible amount of diff lines
- Scoring based on diff output and exit status codes
- Option to set max running time of program
- Ability to assign different point values for different inputs, thus supporing extra credit inputs
auto_grade currently does not have any documentation and is provided as is. I will note that in order to work these things must be setup:
- Setup .forward file in class directory to pass specific emails to the auto_grade.py file as stdin.
- Prepare project python package (directory) with __init__.py file which extends the auto_grade.Turnin object to support the features your project requires.
- Create input and output files in the project directory. To help with generating the output files I provide the generate_outfile.py program.
- Have students turnin using the turnin_wrapper.py program.
I am willing to walk anyone through the creation of a sample project if a need for using auto_grade arises. I can then utilize the sample project in proper documentation for auto_grade.

