Notes on Grading of Programming Assignments


How programs are graded

A program that does not compile or does not link correctly with itself receives a score of 0, no matter how small the error is that leads to that behavior. You are expected to test your work. If it does not compile or link, it is clear that you have never tested what you submitted.

A program that is extremely poorly indented will receive a failing grade, regardless of how well it works. I do not just run your program. I also read it. If it is very poorly indented, it is too difficult to read.

Assuming that a program compiles, links and is sufficiently well-indented, it will start with 100 points and lose points for things that it either does not implement at all or that are done incorrectly. The number of points that you lose will depend on the severity of the error and on how often it is repeated.

Each programming assignment is subject to the coding standards for this course. Be sure that you are aware of them. Scores will suffer for programs that fail to meet the standards.

You will receive feedback that uses the abbreviations shown below. Click on the abbreviation below to see more detail. For example,

  [CONTRACT] (-4)
    [CONTRACT-PARAMETERS] insert, remove
    [CONTRACT-HOW] crunch
means that you have lost 4 points for poor contracts. The contracts for functions insert and remove fail to say how the functions' parameters affect what they do. The contract for crunch tells how crunch works, not what it accomplishes.

In some cases, you will lose fewer points than the total of all of the individual parts, to account for the overall quality of the submission. But do not count on that.


Grading abbreviations

Those that can lead to at least 5 lost points are shown in red.


Compilation and linkage


Following the assignment


Layout


Variables and parameters


Booleans


Contracts and comments


Functions


Conditionals: If, switch, etc.


Loops


Statements and expressions


Handling pointers


General coding issues


Tracing


Efficiency


Other