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.