Prolog Coding and Documentation Requirements Evaluation Criteria
Each program is evaluated over a nominal range of
20 points total (this means programs may 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
- any special algorithmic or logic tricks, etc;
input (exact format); output (what
it means); errors (which errors will be caught? how will they be
handled? which will cause a program 'crash'?);
shortcomings - describe anything the program is supposed
to do but doesn't;
All categories must be addressed and factual. Documentation
should be concise - no rambling prose.
Arrange in tabular format. 2-5 pts.
- Predicate description. Header describing all parameters
used in the predicate (use the +, -, ?, notations
to describe input, output, and in/out
parameters, respectively. 2-5 pts.
- Modularity of design. 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 syntax 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. Programs more than 5 days late will not
be accepted. 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 and may be used as an aid in determining
a student's overall grade.