I'd like to move to mastery-based grading and have drafted a set of rubrics for my undergraduate computer architecture class. I am having trouble with the one for computer arithmetic, which includes two's complement and IEEE floating-point formats. I have the following criteria:
- Converting between decimal and two's complement, including identifying the largest and smallest numbers
- Comparing two's complement numbers
- Understanding two's complement limitations (carry into and borrowing from the sign bit)
- Converting between decimal and IEEE floating-point formats, including identifying the largest and smallest numbers (not counting special values).
- Comparing floating point numbers
- Understanding floating point limitations (underflow, overflow, range limits, precision limits)
- Choosing best numeric representation, given range, accuracy, and performance requirements
I am concerned that there are too many critiera. (Not shown are the ratings for different levels of proficiency.) It also raises the question of how a student shows they know how to, say, convert between decimal and two's complement. Do I keep testing them until they show me one successful conversion in each direction, or do they have to demonstrate that they can consistently do so? Is this too trivial of a skill to test, given that they'll forget the details, which aren't really important, five minutes after the test?