UNB/ CS/ David Bremner/ teaching/ cs3613/ racket-assignment

Marking scheme for Racket assignments

Criteria Excellent (100%) Good (70%) Minimally satisfactory (50%) Needs improvement (0%)

Correctness (50)

See penalties below

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.

Test Design (20)

See penalties below

At least one extra test per function, tests are designed and documented with respect to problem definition. Corner cases are considered. At least one extra test per function. Complete test coverage, as indicated by DrRacket Incomplete test coverage, as indicated by DrRacket
Coding Style (10) Meaningful identifiers. Sensible racket indentation (according to DrRacket or Emacs). Good line width and line breaks. Meaningful identifiers. Sensible racket indentation (according to DrRacket or Emacs). Meaningful identifiers Cryptic identifiers
Idiom (20) No mutation or global variables. Follows assignment specified constructs and / or library functions. Code is concise, without being cryptic No mutation or global variables. Follows assignment specified constructs and / or library functions. No mutation or global variables Uses mutation or global variables

Marks from the the above table are subject to the following automatically applied penalties:

Incomplete Test Coverage

Multiply by 0.8

Failing Submission Tests

Multiply by 0.75

This means you get double penalized for some things (i.e. incomplete test coverage).

This scheme is subject to adjustment as the term progresses. I’ll try to let you know, but you’re responsible for checking it before you do each assignment.

Note that the submission server can’t check coverage for assignments that fail the submission tests, so it will (starting from assignment 3) assume you have incomplete coverage if you have failing submission tests. This means the combined penalty will be a multiplication by 0.6.