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.