The following is a general example of the marking rubric used to mark CS
116 assignments. The weight of each catagory varies between each
assignment and all categories may not be used on each assignment. A
heading marked "Global" indicates that the judgement for this criterion
is based on your whole assignment, not just one question. Note that for
Correctness marks (which are determined on a per question basis),
the number of tests you are required to pass to reach the next level
will vary depending on the number of test cases. In this example, the
grading is based on a situation where there are only 4 test cases. A
question will have more or less tests cases depending on its nature.
|
Level 0: Very Poor |
Level 1: Weak |
Level 2: Passable |
Level 3: Good |
Level 4: Excellent |
|
Contracts (Global) |
No contracts were included. |
Two or more contracts for required functions are either missing
and/or
have significant errors. Maximum mark if only 1 solution
submitted. |
One or more contracts for required functions are missing and/or
have
significant errors in syntax or types specified. Maximum mark if
only 2
solutions submitted, and contracts correct in those. |
Contracts were included for all functions, including helpers,
and were
mostly correct, but with multiple errors. Maximum mark if only 3
solutions
submitted, with correct contracts in each. |
Contracts were included for all functions, including helper
functions,
and were correct with at most one error. |
Contracts (Global) |
Purpose (Global) |
Purpose statements are not included for any required functions.
|
Purpose statements are completed for 1-2 required functions, but
they
are vague and/or omit reference to parameters. Maximum mark if
only 1
solution submitted. |
The purpose is included for at least 3 required functions.
However some
are missing, or those present are vague, or often missing the
role of some
parameters. Maximum mark if only 2 solutions submitted, and
those purpose
statements are complete. |
The purpose is included for all required functions, and some
helpers.
The statements are generally clearly specified and most
parameters are
mentioned, but there are multiple minor errors. Maximum mark if
only 3
solutions submitted, and those purpose statements are complete.
|
The purpose is included for all functions (required and
helpers). The
statements and roles of parameters are clearly specified, with
at one error
or omission. |
Purpose (Global) |
Examples (Global) |
Examples are not included for any functions. |
1-2 of the required functions include examples, but may miss
some
major uses of those functions. Maximum mark if only 1 solution
submitted. |
Almost all required functions include examples that show at
least some
uses of the function. Proper syntax used. Maximum mark if only 2
solutions
submitted, and examples complete in those. |
All required functions include examples that show at least one
common
usage for each function. Proper syntax used. Maximum mark if
only 3
solutions submitted and examples complete in those. |
All required functions include examples that show how to
use the function in each of the common uses, with at most one
omission.
Proper syntax is used. |
Examples (Global) |
Tests (Global) |
No tests included for any functions. |
Tests missing from multiple required functions, and/or major
syntax
errors. Maximum mark if only 1 solution submitted. |
A minimal choice of tests appear in all required functions, and
mostly
use appropriate check-expect, check-within syntax. Maximum mark
if only 2
solutions submitted, and testing in those functions is complete.
|
Tests appear in all required functions.
Test cases cover most major outcomes, boundary points and
special
cases. Syntax correct. Maximum mark if only 3 out of 4 solutions
submitted,
and testing in those functions is complete. |
Tests appear in all required. Syntax correct. Test
cases cover all possible outcomes, boundary points and special
cases, with
at most 2 total omissions. |
Tests (Global) |
Constants and Meaningful Names (Global) |
No constants used. |
Some constants used, but poorly named and role is not clear.
Maximum
mark if only 1 out of 4 questions submitted. |
Some constants used, with meaningful names and clear roles, but
missing
is several other important places. Maximum mark if only 2
questions
submitted. |
Constants used in multiple places, but not enough or names not
meaningful. Maximum mark if only 3 questions submitted. |
Constants used in almost all needed places, and meaningful names
used. |
Constants and Meaningful Names (Global) |
Helper Functions (Global) |
Helper functions are not used anywhere. |
|
At least one helper function is used, but its role is not
entirely
clear. |
Some helper functions are used, but not in all appropriate
places. |
Helper function(s) used meaningfully, where needed. |
Helper Functions (Global) |
Solution Techniques (Global) |
No solutions completed. |
Maximum mark if only one solutions submitted. |
The solutions had a lot of unnecessary complexity. Maximum mark
if
only two solutions submitted. |
Some of the solutions had some unnecessary complexity. Maximum
mark if
only three solutions submitted. |
Solution techniques are relatively straightforward. |
Solution Techniques (Global) |
Whitespace (Global) |
Very poor or no effort to use whitespace effectively. For
example,
many function definitions have long, unbroken lines or there are
no blank
lines to separate logical units of the program. |
Weak use of whitespace. For example, function definitions are
broken
into shorter lines but at illogical places, code is indented
inconsistently,
or little use of blank lines to improve readability. Maximum
mark if only
1 questions submitted. |
Passable use of whitespace. For example, lines of code are
broken at
logical places but aren't indented consistently. Maximum mark if
only 2
questions submitted. |
Most lines of code have an appropriate length or are broken at
logical
places. Lines are indented consistently. Blank lines are used at
appropriate places to improve readability. Maximum mark if only
3 questions
submitted. |
All lines have an appropriate length or are broken at logical
places
and are indented according to the DrScheme style. Blank lines
are used at
appropriate places to improve readability. |
Whitespace (Global) |
Q1: Correctness |
No test passed. |
1 test passed. |
2 tests passed. |
3 tests passed. |
All 4 tests passed |
Q1: Correctness |
Q2: Correctness |
No test passed. |
1 test passed. |
2 tests passed. |
3 tests passed. |
All 4 tests passed |
Q2: Correctness |
Q3: Correctness |
No test passed. |
1 test passed. |
2 tests passed. |
3 tests passed. |
All 4 tests passed |
Q3: Correctness |
Q4: Correctness |
No test passed. |
1 test passed. |
2 tests passed. |
3 tests passed. |
All 4 tests passed |
Q4: Correctness |