Program Evaluation Criteria
Each program is evaluated over a nominal range of
20 points total (this means programs might not all have the
same relative weight in the calculation of a grade), consisting of:
Program Style and Clarity. 5 to 10 points.
One measure of a program's utility is maintainability.
Inherent in this concept are the ideas of documentation,
indentation, identifier usage, subprogram independence,
etc. No compiler or interpreter errors allowed.
- Program header including: student's name, assignment number,
due date; program description; implementation description
(e.g., main data structures and algorithms; special
functions/procedures); input (exact format); output (what
it means); errors (which errors will be caught? how will they be
handled? which will cause a program 'crash'?) data description
(describe, here or where declared, how variables declared in
the main scope relate to the problem solved) All categories must
be addressed and factual. Documentation
should be concise - no rambling prose.
Arrange in tabular format. 2-5 pts.
- Subprogram description. Header describing all parameters,
globals, object variables, returned value, which
subprograms it calls. (Local variables should be documented
here or where they are declared.) 2-5 pts.
- Modularity of design. Information hiding and data abstraction;
subprogram independence; correct use of parameters. 3-10 pts.
- Programming style and readability- indentation, choice of
identifiers, logical constructs, documentation, symbolic
constants. 3-10 pts.
Algorithm correctness and clarity. 10 to 15 points.
The program must produce valid results, not just for the given
data, but any valid data. (No points given if compilation errors exist.)
- Algorithm correctness. 5-15 pts.
- Clear, concise, output for all legal data sets. 2-10 pts.
- Completeness. Program must address all aspects inherent in
the assignment. 3-10 pts.
Lateness. (Subtractions from point total.) Up to 10 pts.
- 10% of total possible points will be subtracted for each day
a program is late: 10% for one day late; 20% for two days late;
30% for three days late; 40% for four days late;
50% for five days late. A program more than 5 days late will not
be scored, but it should be handed in and may be used as an aid in
determining a student's overall grade.
Make a dated run of program before due date arrives.
A program that runs with errors is better than one that doesn't
run at all. A program that doesn't run but compiles is better
than one that doesn't compile. A program that handles some part
of the problem is better than one that isn't handed in.
A program which doesn't compile will not be graded; but it
should be handed in as the effort shown in its development may be
used as an aid in determining a student's overall grade.