Program/Project Grading Criteria

This page governs all my courses that have programming projects. Programming projects are graded on their correctness, readability, user friendliness and programming style. If you have questions about why I deducted points from your program, you should feel free to discuss them with me.

Correctness (60-75%)

It is most important that a program be correct. This means that it runs without crashing, and that it always gives the correct answers or output.

Readability (5-15%)

The program should be easy to read. This includes using good names for identifiers and including adequate comments. In particular, you should always include

Finally, no subprogram, including the mainline, should be more that about half of a page long.

If you are using Java, then your comments should be compatible with JavaDoc.

User Friendliness (5-15%)

A user of your program should be able to figure out what is going on. In particular, you should always prompt the user for any input required. If the program accepts commands, be sure to include a help command. All output must be identified; don't just print out meaningless numbers.

Style (10-20%)

There is more that one way to write a program for any problem. If your methods or code are unnecessarily long or complicated, then you can lose points. Be very careful when you decide whether a particular variable should be global, local, or a subprogram argument. That said, it is better to have ugly code that works correctly, than pretty code that doesn't work.

Other (0-10%)

Some programming projects may have additional work that will be graded. For example, a project involving files may require one or more printouts of files be turned in. The requirements for additional work, if any, will always be specified as part of the assignment.

Jonathan P. Sorenson
Computer Science & Software Engineering, Butler University, 4600 Sunset Avenue, Indianapolis, IN 46208, USA
sorenson@butler.edu, www.butler.edu/~sorenson
Fairbanks 158, Phone: 317-940-9765, Fax: 317-940-9014