If appropriate, give - data defn (-25%) - examples of data (-25%) - template (-30%) Use helper functions (-50%) rather than one large unwieldy func (see below) Every function needs - contract (-10%) - appropriate use of (-10%) types (see below) - comments, (-25%) if args or return val isn't obvious from the names - to follow template (-30%) - test cases (-25%) (After hw3, this will be optional for functions which are one short line.) - good indentation (-30%) (incl. spacing) - no magic numbers (-10%) (see below) Papers must be stapled (-10%)
'yep
and 'nope
.
Later in the semester it includes using structures as needed.
Overall, this point is not a big issue in Scheme.
Cruising-Speed
.
Sometimes it is forgivable if that concept is used only once
in your program (say, 60min/hr), but NEVER if it is used twice.
(The only exceptions: 0 and 1.)
For instance, in missionaries-and-cannibals (hw~6),
the constant "3" should only occur once, in a define
,
and nowhere else.
Keep in mind that your labbies are grading a large number of papers, and sometimes mistakes are made. If you feel something was marked off even though it was correct, by all means check with the grader. However, if you feel that the grader was correct in taking off some points, but you feel they took off too many, try to defer to their judgement. If you feel that you've been graded overly-harshly consistently over several homeworks, first see the grader(s), and if they don't immediately agree, come see me (ian). (I've instructed the labbies to not change their previous judgement calls unless they are obviously way out of whack; I'll fix any accumulation of small judgement calls myself.)
Disclaimer:
This guideline is not binding;
we reserve the right to give whatever score we feel is fair.
Guarantee:
You have the right to question any score, and get an explanation
of why we feel it is fair.
See one of the instructors (ian or john) if you are unsatisfied
with a grader's explanation.