Assessment of Programming Assignments

Revised 09/15/2012

 Program Assessment Criteria and Valuation* 
 Criterion   Percentage Points Range*     Phase   
 Deliverables Received and Project Compiles     0 ... 25   1 
 Results of Testing   0 ... 25   1 
 Adherence to Technical Requirements and Specifications   0 ... 25   2 
 Other Engineering and Quality Considerations   -25 ... 25   2 
*Percentages may vary for specific assignments

All programming assignments will be assessed in two phases. The first phase is automated testing, the second phase is code assessment.

Phase 1: Testing [Begins after due date, continues for seven days]

  1. Beginning two hours after the announced deadline [ i.e., 2:00am Eastern Time ], each student's submission will be test-compiled and test-run against predetermined sets of test data. This process will generate two files: "results" and "report".
  2. The output from attempted build and, if build is successful, the output of tests, will be in the file "results", which will also indicate "pass" or "fail" for these steps. In the case of "pass" the student's status will upgraded to "ready for evaluation" and handed off to Phase II. Otherwise the student's status will be "resubmit" and will remain in Phase I.
  3. As soon as all submissions have been tested, the "results" files will be emailed to students. You should see this in your email when you wake up on morning after the due date. If your status is "resubmit" you should get directly to work repairing whatever problems have surfaced.
  4. The processing of new submissions (including re-submissions) will continue daily at approximately 2:00am for one week past the due date. At that moment, the grace period for fixing your software ends and no more submissions will be accepted.
  5. Students whose submissions did not pass Phase I have exactly that week to fix their code and resubmit. There is no penalty for resubmissions during the grace period.
  6. All resubmissions will be re-tested, so students are encouraged to continue to improve their code even after the tests are passed. The code will be evaluated in Phase 2.
  7. Once the grace period ends, no more submissions will be accepted.

Phase 2: Evaluation [Begins at end of Phase 1]

The first step in evaluation will be to note whether the submitted project meets the basic criteria of build, run, and testing, as determined during phase 1. This will determine a large portion of the grade on the project, roughly according to the table at the beginning of this document.

The remainder of your grade will depend on a reading of your source code and any accompanying docmuents that may have been required. Such things as compliance with course coding standards, good choices of names, appropriate design, adherence to the project requirements, and general qualities such as readability will all come into play during this phase.

Please note the following:

Examples of "coding standards": use only angle brackets to include files; use prefix increment/decrement unless the value returned by postfix is meaningfully used; use explicit namespace scope resolution instead of the "using" directive; use C++ stream I/O. See the Coding Standards documment for a complete discussion of the standards.

For some discussion of variable names and scoping, see this FAQ.