Rubric
Criteria | Excellent (6) | Good (5) | OK (3) | Needs improvement (0-2) |
---|---|---|---|---|
Adequacy of tests | Good plus tests are designed and documented with respect to problem definition. Corner cases are considered. | Complete coverage. At least one extra test per “important” function. | Complete Coverage | Incomplete coverage. |
Correctness | Good plus shows evidence of deeper understanding of the assignment, or defensive programming. | Correct to the letter of the assignment. All tests provided with the assignment pass. | Almost completely correct. Perhaps one incorrect case/input. | Substantial problems with correctness. Most provided tests fail. Submitted code has syntax errors. |
Criteria | Excellent (4) | Good (3) | Needs Improvement (0-2) |
---|---|---|---|
Python Coding Style | Meaningful identifiers. Docstrings for every non-test function. Good line width and line breaks. | Meaningful identifiers. Reasonable line breaks. Docstrings for every “important” function. | Overuse of cryptic variable names. |
Assignment defined idioms | Uses comprehensions as much as reasonable. Code is concise. | Follows assignment specified constructs and / or library functions. | Use of global variables |
Approximate translation of scores
- 18 - 20
- A+
- 17
- A
- 14
- B
- 11
- C
- 10
- D
- 0-9
- F