CSCI 116 Program Grading Criteria



Note: Each method must contain a prologue. In the prologue, you should place the method's name, purpose, pre-conditions, and post-conditions. Your main function must also have this same prologue. Please ask the instructor if you do not understand any part of this requirement.

Following is an example prologue

//---------------------------------------------------------------------------------// // CSCI 116 Fundamentals of Programming: C++, Spring 2009 // // Program #1: Add two numbers // // Author: Phronk LeBlanc // // Date Due: Jan. 27, 2009 // // // // PreConditions: The user at the keyboard will supply two numbers, one at a time, // // to the program when prompted to do so. // // // // PostConditions: The two numbers will be added together and the result will be // // displayed on the screen. // //---------------------------------------------------------------------------------//

Grading Criteria

Correctness

The program must correctly solve the problem given.

Readability

Meaningful variable names should be used. Indentation and spacing should be clear and consistent. Useful comments should appear at appropriate places on a very regular basis. All variables used in the program must be declared on separate lines with a comment to the right of each one stating its purpose. The only exceptions to this rule are temporary and worker variables such as counters which can be grouped together (same types) with a single comment.

Error Checking

The program should deal with, in some reasonable way, invalid input data or situations which require special handling. Any situation which the program does not (or cannot) handle should be discussed under "restrictions and limitations" in the documentation.

Documentation

Output

The program must be clearly labeled and neatly formatted. It should make sense by itself without having to look at the program. All input values should appear as part of the output.

Organization

The flow of control must be clearly and logically organized. For large programs, a logical division of work should be used. Only high quality Object Oriented programming control constructs may be used. GOTO's are NEVER allowed!!! There must be only a single return point from any method and that is at the bottom of the method. Never return from within loops or if/then/else statements.

Testing

The program must be executed with input data selected to demonstrate that the program works correctly. At a minimum, enough test runs should be tried to ensure that each statement in the program has been executed at least once.

If a program is badly off track, it may be returned with comments but no grade. In such a case, the student should discuss the situation with the instructor, fix the program, and resubmit it within one week.