Assessment of Programming Assignments

All programming assignments will be assessed using the specific assignment document as well as course standards for programs. The following table shows approximately how assignments are assessed. Individual assignments may vary from this guide, and each will each have a detailed assessment rubric:

 Program Assessment Criteria and Valuation 
 Criterion   Percentage Points Range   
 Deliverables Received and Project Compiles     0 ... 25 
 Results of Testing   0 ... 25 
 Project Meets Requirements  0 ... 25 
 Design, Readability, and Style   -25 ... 25 

The first two criteria will be assessed objectively through automated testing. A report of these test results will be prepended to your source code and sent to a member of the instructional staff who will assess against the latter three criteria. Note carefully the following important items:

Late Assignments: To receive full credit, assignments must be turned in by midnight Eastern Time on the due date. The time stamp on email sent from a CS machine will determine the time of submission. An assignment that is turned in no more than 24 hours late may be scored with a 10% penalty. An assignment that is turned in more than 24 and no less than 48 hours late will be scored with a 20% penalty. An assignment that is turned in more than 48 hours late will receive the score of zero (0).

Subjective Assessment: Each assignment will have specific required standards of design, implementation, and behavior which will be checked. There are also general design and style criteria that apply to any program in the course. Some of the latter (and their relative worth) are given in the following table.

 General Design, Readability, and Style Assessment  
 Category  Percentage Points Range 
 Adherence to technical guidelines -15 ... 0 
 Design effectiveness  -10 ... +10 
 Adherance to Coding Standards 0 ... +10 
 Appropriateness of name choices  0 ... +10 

Examples of "coding standards": use only angle brackets to include files; use prefix increment/decrement unless there is a specific need for postfix; 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.