Behavior | All of the following: - Code properly compiles
- All required functionality is implemented
- All required features function correctly according to the spec
| All of the following: - Code properly compiles
- Key required functionality is implemented
- Implemented features function correctly according to the spec
| Any of the following: - Code does not compile
- Key required functionality is not implemented
- Implemented features do not function correctly according to the spec
|
Concepts | All of the following: - Code structure accurately reflects intended control flow (e.g.
if -else vs. if -if ) - Most appropriate type used for data (e.g. variables, parameters, return values)
- Variables created and used in the most local scope possible
- Code is appropriately factored to eliminate unnecessary redundancy and/or computation
- No extraneous or unnecessary code or constructs (e.g. methods, parameters, returns, conditional cases)
- No forbidden features used
- All assignment-specific implementation requirements met
| All of the following: - Code structure is reasonable for intended control flow
- Reasonable type used for data (e.g. variables, parameters, return values)
- Variables created and used in local scope
- No obviously unnecessary redundancy or computation
- No obviously extraneous or unnecessary code or constructs (e.g. methods, parameters, returns, conditional cases)
- No forbidden features used
- Key assignment-specific implementation requirements met
| Any of the following: - Code structure is inappropriate for intended control flow
- Inappropriate type used for data
- Variablescreated or used in non-local scope
- Obviously unnecessary redundancy or computation
- Obviously extraneous or unnecessary code or constructs
- Any forbidden features used
|
Quality | All of the following: - All class and method comments are present, meaningful, and accurate
- All identifiers are descriptive, meaningful, and follow naming conventions
- Style choices (e.g. names, whitespace, inline comments) are reasonable and consistent, and make code readable and maintainable
- Code fully conforms to code quality guide
| All of the following: - Most class and methods comments are present, meaningful, and accurate
- Most identifiers are meaningful and follow naming conventions
- Style choices (e.g. names, whitespace, inline comments) are reasonable, and do not significantly reduce readability or maintainability
- Code mostly conforms to code quality guide
| Any of the following: - Class and methods comments are missing, not meaningful, or inaccurate
- Identifiers are not meaningful and/or do not follow naming conventions
- Style choices (e.g. names, whitespace, inline comments) are not reasonable, or make code unreadable or unmaintainable
- Code largely does not conform to code quality guide
|
Reflection | - All reflection questions answered with meaningful effort
| - One or more reflection questions not answered, lack meaningful effort, or are not relevant to the question
| - No reflection questions answered
|