Remarks on Grading of Programs

How is your grade on a homework assignment, consisting of a computer program, determined? I generally apportion the grading into the following categories, which are not given equal weight:

The weights given to these components will depend on the size of the project, the programming language in which it is written (for example, the arrangement of i/o may be given more weight in a graphically-oriented language like Visual Basic than in text-based C++), and the material it is designed to cover.  Thus, the following remarks illustrate typical examples but should not be taken as hard-and-fast rules.  Note also that your score in each category will be non-negative. Note also my Web page On Programming Style, which contains many relevant examples.


Logic

For a project on which the total possible points is between 40 and 100, typical penalties under this category include:


Listing

For a project on which the total possible points is between 40 and 100, typical penalties under this category include:


I/O

Most flaws under this category will be penalized one point apiece, at most. These include errors in spelling, grammar, and other abuses of English; poor alignments/spacing; unclear, awkward, or misleading prompt messages; etc.

In Visual Basic, additional factors may include color choices and contrasts, font properties, etc.  Regarding these, I will not demand that you make the same choices I would make, but I will expect your choices to result in i/o that is pleasantly arranged and easy to read.

Note if your program does not run, you may be unable to give an adequate demonstration of your i/o, hence will receive a low score (possibly 0) for this component of your grade.


Demonstration

Most flaws under this category will be penalized one point apiece, at most. However, if you submit a program that does not run, you cannot demonstrate its run-time behavior, hence should expect to receive a score of 0 for this component of your grade.


To: