UNB/ CS/ David Bremner/ teaching/ cs2613/ python-assignment

Marking scheme for Python assignments

Criteria Excellent (3) Good (2) Minimally satisfactory (1) Needs improvement (0)
Adequacy of tests Complete test coverage, at least one extra test per function, tests are designed and documented with respect to problem definition. Corner cases are considered. Complete coverage, plus at least one extra test per function. Complete test coverage, as indicated by “pytest-3” Incomplete test coverage, as indicated by “pytest-3”
Correctness Correct to the spirit of the assignment. Shows evidence of deeper understanding of the assignment, or defensive programming. Correct to the letter of the assignment. Almost completely correct, perhaps one incorrect case / input. Substantial problems with correctness or syntax errors.
Criteria Excellent (2) Good (1) Needs Improvement (0)
Python Coding Style Meaningful identifiers. Good line width and line breaks. Meaningful identifiers. docstrings for functions Bad indentation or cryptic identifiers.
Assignment defined idioms Follows assignment specified constructs and / or library functions. Code is concise, without being cryptic Follows assignment specified constructs and / or library functions. Use of global variables