Category | Criteria | Points |
Design 14 points total |
Evidence of design planning; conceptual clarity |
0-3 |
Good choice of packages, classes, interfaces, and methods |
0-3 |
Modularity/abstraction |
0-2 |
Appropriate use of design patterns |
0-2 |
Extensibility |
0-2 |
Reasonable rationale
behind design (inferred from the code and documentation.).
|
0-2 |
Implementation 14 points total |
Consistent use of identifiers |
0-2 |
Appropriate use of comments |
0-2 |
Appearance and maintainability of code |
0-2 |
Choice and implementation of algorithms |
0-4 |
Appropriate use of programming metaphors,
constants, exceptions, etc. |
0-2 |
Reasonable rationale behind implementation
(inferred from the code and documentation). |
0-2 |
Documentation 13 points max |
Discussion and justification against alternative designs, implementations,
and tests, or justification of why there were no alternatives. |
0-2 |
Good balance of thoroughness and brevity |
0-3 |
Neatness and organisation. |
0-2 |
Easy to understand |
0-3 |
Usefulness in maintaining or extending this software. |
0-3 |
Testing 7 points max |
Range/breadth of tests |
0-2 |
Coverage by appropriate metric (code, decision, etc.) |
0-2 |
Reasonable rationale behind testing (inferred from the code and
documentation). |
0-3 |
48 points max
|