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 and class 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 and class 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 and class 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
|
Reflection | - All reflection questions answered and demonstrate meaningful effort
| - Some reflection questions answered and demonstate meaningful effort.
| - No reflection questions answered and demosntrate meaningful effort.
|