General information about grading for homework 1
How the grading was done
The grading consisted of three parts:
- Executing each function on a collection of test cases.
- Inspection of the code for clarity, coding style, and efficiency.
- Extra credit for question 4.
The score for questions 1-3 was a raw score based on the test cases multiplied
by a "factor" determined by the clarity, style and efficiency of the code.
This factor was on a scale of 100; the actual scores for "factor" ranged
from 85 to 100.
The grading worked with a model that to get a factor of 90 or greater,
(i.e. an A+) requires a solution that
is clear, well-written, and efficient.
Clarity required comments that made the solution easy to understand.
Likewise for "style". Furthermore, if the solution generated warning
messages when compiled, or if file or function names did not conform to
the specification given in the homework, the
For efficiency, the solution needs
the same ``big-O'' efficiency as a "reasonable" approximation of
"optimal" (i.e. the polynomial product can be computed in
O(N2)
time, but the FFT-based solution would require much more code, and the
efficiency gains would only be realized for really big polynomials. Thus, the
much simpler O(N2) got full credit).
When checking the details, I noted that the TA truncated scores rather
than rounding. I'll guess that this is an artifact of the spread-sheet
that she was using. I'm not going to quibble over the relative merits
of rounding versus truncation.
Grade distribution
mean = 57.2, median = 58; standard deviation = 7.73
Note that this includes the 10 points of extra credit for Q4 -- everyone
completed Q4 and got the credit -- thanks for the feedback!
If you want to figure out more details about the distribution, here are
the raw scores:
39 41 45 46 47 48 50 53 54 54 55 56 57 57 57 58 58 58 58
58 61 61 62 63 64 65 65 65 66 66 67 67 67