Assessment of Programming Assignments

Programming assignments will be assessed in two stages: (1) objective testing and (2) subjective assessment and grading. Stage (1) will be an automated process that builds the submitted assignment and, if the build is successful, subjects the executable to a series of tests. Stage (2) will be carried out by a member of the instructional staff who will read the test report, the source code, and other deliverables, and arrive at a grade for the assignment using a rubric designed for the assignment.

Stage 1: automated testing

Beginning several days prior to the advertized deadline, the automated testing system will be activated for the assignment. This will be run in the early morning hours, and a results document will be created and emailed to the student. The results document will show whether the build is successful and, if so, the results of testing on the exectuables. The testing system may be run several times a day as the assignment deadline nears. Prior to the deadline, students may resubmit as often as desired without penalty.

Beginning with the deadline, each day (24 hour period) during which there is no succesful test run, the grade for the assignment will be dropped by two percent (2%), continuing for 10 days and a total of 20%. After ten (10) days, the assignment will no longer be accepted, whether or not it passes automated testing. Stage 2 begins 10 days after the deadline.

Note that there is no penalty for a resubmission, even duriung the testing stage. (The penalty "clock" is stopped once a pass is achieved.) Resubmission may be desired, to correct things like compiler warnings, code organization, and other engineering considerations which may not affect automated testing but will definitely affect the grade during stage 2. Resubmissions will be tested again and results sent, so the student will have feedback even after achieving "pass" status. (It may be risky to resubmit a "passed" assignment on the last day, since you won't get test feedback until too late to correct an error.)

Stage 2: project assessment and grading

Stage 2 begins when the acceptance window for the assignment is closed. Each assignment will have detailed assessment rubric modified from the following generak guidelines:

 Assignment Assessment Guidelines - details may vary 
 Criterion   Approximate Percentage Points Range   
 Deliverables Received and Project Builds Cleanly     0 ... 25 
 Results of Testing   0 ... 25 
 Project Meets Requirements  0 ... 25 
 Software Engineering Considerations   -25 ... 25 

Software engineering considerations include readability, design, style, safety, and appropriate use of language and library features. Note that any choice you make is important and subject to evaluation. Thus every choice should be made thoughtfully and with a rationale that can be given for making that choice.

Once the assignment has been assessed using the rubric, a detailed grade report will be emailed to the student.