Behavior | - Correctly implements all required functionality
- Exhibits correct behavior in all cases
| - Attempts to implement all required functionality
- Exhibits correct behavior in all common cases
| - Attempts to implement most required functionality
- Exhibits correct behavior in most common cases
|
Concepts | - Most appropriate variant of language features used in all circumstances
- Most appropriate type and/or data structure used for all data (e.g. variables, parameters, fields)
- All data created and used in the most local scope possible
- All code is appropriately factored to eliminate unnecessary redundancy and/or computation
- No extraneous or unnecessary code or constructs (e.g. methods, parameters, conditional cases)
- All assignment-specific implementation requirements met
| - Reasonable variant of language features used in all circumstances
- Reasonable type and/or data structure used for all data (e.g. variables, parameters, fields)
- All data created and used in local scope
- No obviously unnecessary redundancy or computation
- No obviously extraneous or unnecessary code or constructs (e.g. methods, parameters, conditional cases)
- All key assignment-specific implementation requirements met
| - Some reasonable language features used
- Some reasonable types and/or data structures used
- All data created and used in local scope
- Some unnecessary redundancy or computation eliminated
- Some extraneous or unnecessary code or constructs eliminated
- Most key assignment-specific implementation requirements met
|
Quality | - Header comments are present on all classes and methods
- All header comments are concise and meaningful, and include all relevant information and no inappropriate information
- All identifiers are descriptive and meaningful, and follow naming conventions
- Names, comments, and line lengths make code more readable and maintainable
- All code is indented and spaced consistently and cleanly
- Code follows all guidelines from code quality guide
- Personal style choices are reasonable and consistent
| - Header comments present on most classes and methods
- All present header comments are concise and meaningful, and include all relevant information
- Most identifiers are meaningful and follow naming conventions
- Names, comments, and line lengths do not significantly reduce readability or maintainability
- Indentation and spacing do not significantly reduce readability or maintainability
- Code follows all major guidelines from code quality guide
- Personal style choices are reasonable
| - Header comments present on some classes and/or methods
- Some header comments are concise and meaningful, and include most relevant information
- Some identifiers are meaningful and/or follow naming conventions
- Some attempt made at appropriate naming, line lengths, Indentation and spacing
- Some code follows guidelines from code quality guide
|
Testing/Reflection | - Tests cases/plan provided for all meaningful behavior
- All coded tests run without errors and provide meaningful and accurate results
- Tests and/or plan are well-written and easy to comprehend
- Appropriate comments and documentation provided for all coded tests
- All reflection questions answered and demonstrate meaningful effort
| - Test cases/plan are provided for all common and important behavior, and all required cases
- All coded tests run without errors and produce accurate results
- Tests and/or plan conform to stated requirements
- Appropriate comments and documentation provided for most coded tests
- All reflection questions answered
| - Tests cases/plan provided for some required cases
- Some coded tests run without errors
- Some tests and/or plan conform to some stated requirements
- Comments and/or documentation provided for some coded tests
- Some reflection questions answered
|