E Excellent |    - Correctly implements all required functionality.
  - Exhibits correct behavior in all cases.
     |    - 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.
     |    - 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.
     |    - When required, test cases are provided for all meaningful behavior.
  - All student-provided tests run without errors and provide meaningful and accurate results.
  - All student-provided tests are well-written and easy to comprehend.
  - Appropriate comments and documentation provided for all student-provided tests.
  - All reflection questions are answered and demonstrate meaningful effort.
     |  
  S Satisfactory |    - Attempts to implement all required functionality.
  - Exhibits correct behavior in all common cases.
     |    - 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.
     |    - 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.
     |    - When required, test cases are provided for all common and important behavior, and all required cases.
  - All student-provided tests run without errors and produce accurate results.
  - All student-provided tests conform to stated requirements.
  - Appropriate comments and documentation provided for most student-provided tests.
  - Some reflection questions are answered and demonstrate meaningful effort.
     |  
  N Not yet |    - Attempts to implement most required functionality.
  - Exhibits correct behavior in most common cases.
     |    - 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.
     |    - 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.
     |    - When required, tests cases provided for some required cases.
  - Some student-provided tests run without errors.
  - Some student-provided tests conform to some stated requirements.
  - Comments and/or documentation provided for some student-provided tests.
  - No reflection questions are answered and demonstrate meaningful effort.
     |