CS 1102: Accelerated Intro to Program Design
Homework Grading

General guidelines

Documentation

Every program needs a contract and purpose.

Deductions:
-1 point for each of these missing on each program (including helper functions)
-3 if a program uses an undefined form of data (only deduct this once in an assignment for the same missing data definition)

Data Definitions

Every type of complex data needs a data definition, appropriate define structs, and examples of the data.

Deductions:
-3 for no examples of the data
-1 for a define-struct whose field order doesn't match that in the definition
up to -3 for poor choices of which fields to include (irrelevant info, wrong level of detail, etc)

Templates

Programs must follow templates when appropriate (exceptions are non-recursive programs and programs written using map and filter)

Deductions:
-2 to -5 depending on how bad the violation of the template is:

Program Logic

On program errors that do not come from the templates (these would be logical errors in their programs, you'll have to use your judgement. Take off 1-5 points, depending on the point value of the problem.

-1 for really small errors (like using * instead of +)
-2 if they saw the logic but didn't tie things together quite right (for example: they used the struct selectors backwards)
-3 if the logic is about halfway right: some okay and some a bit off
-4 if the logic doesn't make much sense
-5 if they never really got beyond the template

Test Cases

Every program needs test cases. Take off up to 5 points for the quality of test cases.

-1 for each untested case, up to 5 points total
-3 if test cases aren't executable Scheme code
-3 if expected answers aren't included with test cases (for images, expected answers can be descriptive strings)
-5 for no test cases

Assignment-Specific Guidelines

There are also assignment-specific guidelines for each assignment.
This page maintained by Mike Gennert
Department of Computer Science Worcester Polytechnic Institute