6.370 Home: Rules: Judging Criteria

CategoryCriteriaPoints
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