CSC 150
Grading Standards for Projects

Guideline for point deductions: The above are just guidelines and do not reflect every case. In general, programming projects will be graded using the following standards. Before turning in any code, check to be sure that you meet the following criteria. We will be discussing many of these design issues as the term progresses.

Criteria Category Explanation
Output Issues

Correctness

The program solves the correct problem.
The program solves the problem correctly.

Completeness

All assignment requirements are met.

Testing

Effective test data chosen.
Design Issues

Understandability

Comment for each major algorithm step.
Comments following each variable/object declaration (unless variable name makes it clear).
Meaningful variable names
Effective use of white space and indentation
Prompts for input
Headings/Labels for output
Comment before each method/class describing its role

Coherency

Good utilization of the Java programming language
No global variables
Logic of your code follows the algorithm
English explanation = what the code does
Relationships between the data elements are inherently represented in the code
No unnecessary work done or excessively convoluted logic

Modularity

Each method does one task
Methods reflect the behavior of the object
Complex tasks are effectively delegated to other objects
Good use of encapsulation

Reusability

Class is general enough to be usable elsewhere
No unnecessary duplication of code
Good use of Java interfaces and/or generics

Robustness

Good error-checking
Data structure is protected against accidental or deliberate misuse

Efficiency

Time and space-intensive operations have been identified
Correct abstract data type (ADT) is used to decrease running time for frequently-used operations