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

Marking scheme for Racket assignments

Undergrads Excellent (110%) Good (75%) Minimally satisfactory (55%) Needs improvement (0%)
Graduate Students 100% 70% 50% 0%
Correctness (20) 1

Correct to the spirit of the assignment. Shows evidence of deeper understanding of the assignment, or defensive programming.

<+2> / <+0>

Correct to the letter of the assignment. No obvious bugs.

<-5> / <-6>

Almost completely correct, perhaps one incorrect case / input.

<-9> / <-10>

Some serious correctness problem.

<-20>

Test Design (10) 2

At least one extra test per function, tests are designed and documented with respect to problem definition. Corner cases are considered.

<+1> / <+0>

At least one extra test per function.

<-2.5> / <-3>

Complete test coverage, as indicated by DrRacket

<-4.5> / <-5>

Incomplete test coverage, as indicated by DrRacket

<-10>

Coding Style (10) 34

Meaningful identifiers. Good racket indentation Good line width and line breaks. Granularity of functions is well thought out.

<+1> / <+0>

Meaningful identifiers. Good racket indentation. Good paren placement.

<-2.5> / <-3>

Meaningful identifiers. Reasonable indentation.

<-4.5> / <-5>

Pervasive bad identifiers or bad indentation.

<-10>

Idiom (10) 5 6 No inappropriate mutation or global variables. Follows assignment specified constructs and / or library functions. Solution is elegant. <+1> / <+0>

No inappropriate mutation or global variables. Follows assignment specified constructs and / or library functions.

<-2.5> / <-3>

No inappropriate mutation or global variables

<-4.5> / <-5>

Inappropriate mutation or global variables.

<-10>