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.

  1. 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.

  2. 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.

  3. Modularity of design. 3-10 pts.

  4. 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.)

  1. Algorithm correctness. 5-15 pts.

  2. Clear, concise, output for all legal data sets. 2-10 pts.

  3. Completeness. Program must address all aspects inherent in the assignment. 3-10 pts.

Lateness. (Subtractions from point total.) Up to 10 pts.

  1. 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.