| Behavior |  Correctly implements all required functionalityExhibits correct behavior in all cases |  Attempts to implement all required functionalityExhibits correct behavior in all common cases |  Attempts to implement most required functionalityExhibits correct behavior in most common cases | 
  | Concepts |  Most appropriate variant of language features used in all circumstancesMost 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 possibleAll code is appropriately factored to eliminate unnecessary redundancy and/or computationNo 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 circumstancesReasonable type and/or data structure used for all data (e.g. variables, parameters, fields)All data created and used in local scopeNo obviously unnecessary redundancy or computationNo obviously extraneous or unnecessary code or constructs (e.g. methods, parameters, conditional cases)All key assignment-specific implementation requirements met |  Some reasonable language features usedSome reasonable types and/or data structures usedAll data created and used in local scopeSome unnecessary redundancy or computation eliminatedSome extraneous or unnecessary code or constructs eliminatedMost key assignment-specific implementation requirements met | 
  | Quality |  Header comments are present on all classes and methodsAll header comments are concise and meaningful, and include all relevant information and no inappropriate informationAll identifiers are descriptive and meaningful, and follow naming conventionsNames, comments, and line lengths make code more readable and maintainableAll code is indented and spaced consistently and cleanlyCode follows all guidelines from code quality guidePersonal style choices are reasonable and consistent |  Header comments present on most classes and methodsAll present header comments are concise and meaningful, and include all relevant informationMost identifiers are meaningful and follow naming conventionsNames, comments, and line lengths do not significantly reduce readability or maintainabilityIndentation and spacing do not significantly reduce readability or maintainabilityCode follows all major guidelines from code quality guidePersonal style choices are reasonable |  Header comments present on some classes and/or methodsSome header comments are concise and meaningful, and include most relevant informationSome identifiers are meaningful and/or follow naming conventionsSome attempt made at appropriate naming, line lengths, Indentation and spacingSome code follows guidelines from code quality guide | 
  | Testing/Reflection |  Tests cases/plan provided for all meaningful behaviorAll coded tests run without errors and provide meaningful and accurate resultsTests and/or plan are well-written and easy to comprehendAppropriate comments and documentation provided for all coded testsAll reflection questions answered and demonstrate meaningful effort |  Test cases/plan are provided for all common and important behavior, and all required casesAll coded tests run without errors and produce accurate resultsTests and/or plan conform to stated requirementsAppropriate comments and documentation provided for most coded testsAll reflection questions answered and demosntrate meaningful effort |  Tests cases/plan provided for some required casesSome coded tests run without errorsSome tests and/or plan conform to some stated requirementsComments and/or documentation provided for some coded testsSome reflection questions answered and demonstate meaningful effort. |