Thursday, June 17, 2010

Critiques, not Grades

When teaching programming, I critique code, I don't grade it. Despite their ubiquity, grades have many problems. In no particular order, here are some big ones:
  • For any solution complex enough to be worth evaluating, a single number is way too inadequate a measure of quality.
  • Calculating a weighted average of inadequate individual grades to get a final grade makes things even worse.
  • Who would you rather have working for you: someone who got 5 programs 80% done, or 4 out of 5 programs 100% done?
  • A grade provides no useful feedback to the student on what was wrong and how to do better.
  • Grading requires repeated arbitrary decisions about the relative demerits of misleading function names, bad indentation, failure to use standard library functions, and so on, when all I really care about is whether is something worth fixing or just noting.
  • The students tune their behavior to optimize their grade based on whatever arbitrary rules I developed.
But if I don't grade, only critique, how do I figure out a final grade? Next time...

No comments:

Post a Comment