Here are the general grading guidelines that the TAs receive for grading your assignments. The point value per program changes slightly week to week, but tends to be around 8-10 points.
I'm posting this so you can better prepare your assignments. If you receive grades that seem far off these guidelines, talk to your grader and then to me if necessary. We aim for consistency across graders above all else, out of fairness to the class.
General guidelines:
o Every program needs a contract and purpose.
-1 point for each of these missing on each program (including helper
functions)
o Every type of complex data needs a data definition, appropriate
define structs, and examples of the data.
-2 if a program uses an undefined form of data (only deduct this
once in an assignment for the same missing data definition)
o On a question that asks them to develop data definitions:
-2 for no examples of the data
-1 for a define-struct whose field order doesn't match that in the
definition
-2 for poor choices of which fields to include (irrelevant info,
wrong level of detail, etc)
o Programs must follow templates when appropriate (exceptions are
non-recursive programs and programs written using map and filter)
-2 to -5 depending on how bad the violation of the template is:
o if a data definition has two cases and they write 3
(because one case needed an inner cond), -2
o if there's nothing resembling the template structure in their
code, -5
o if they forget a recursive call that the template would have
given them, -3
o 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. I generally take off 1-4 points, depending on the point
value of the problem.
-1 for really small, dumb errors (like using * instead of +)
-2 if they mostly saw the logic but didn't tie things together quite
right (for example: they used the struct selectors backwards)
-3 if the logic of what they wrote doesn't make much sense
-4 if they never really got beyond the template
Some assignment-specific guidelines apply to each assignment.