Notes on Grading of Programming Assignments


How programs are graded

Special situations

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 not tested what you submitted even once.

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.

Normal situations

Assuming that a program compiles, links and is sufficiently well-indented, it will start with a number of points specified in the syllabus 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.

For the most part, each kind of error has an associated number of points taken off per occurrence and a maximum percentage of your grade that will be taken off for that kind of error. Some groups of errors also have a maximum percentage that will be taken off for errors in that group combined.

Coding standards

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.

Extra credit

If your documentation is good throughout, where

  1. everything that needs documentating is documented,
  2. documentation follows all of the rules set out for it, and
  3. documentation is clear and easy to read

you will receive up to 10% extra credit.

You will only receive extra credit for documentation if your program is correct or mostly correct. You will not receive extra credit for a program that does not compile, substantially fails to follow the assignment or that is pervasively incorrect.

My decisions on extra credit are final. I will not justify why I did not consider extra credit to have been earned.