Grading of programs for CSCI 2610/2611


Turning in programs

Submit your programs by printing them and handing in the printout.

Be sure that your name, the assignment number and the date are typed in a comment at the top of the program. The form should be as follows.
     // John Q. Smith
     // Computer science 2611
     // Programming assignment 1, submission 1
     // Spring 2003
     // January 7, 2003
  

Immediately after this heading, each program should start with a short description of what the program does. The description should make sense to somebody who picks up your program and wants to understand its main point.


Revisions of programs

You will be given opportunities to revise your programs after you have got them back. To revise a program, address the comments on the original, and fix the program. Consider other issues that might also need to be addressed to improve your program. Then resubmit the program.

To resubmit a program, replace submission 1 by submission 2 in the heading at the top of the program. Attach the prior (graded) version to the back of the new version and hand the new version in.

You may only resubmit a program once. If you do a reasonably good job on the first version, your resubmission will only need to touch up a few minor problems.

You can only submit or resubmit a program up to 9 class days after the program was assigned. If your first submission is too close to the deadline, you will not have time for a resubmission.


Grading policy

The main thing to remember is that I expect your solutions to work, not just to be crude approximations of working programs.

Programs will be graded for overall quality, both in terms of how well they work and in how well they are organized and presented. Be aware of the following guidelines. If you feel that they are unfair and you cannot live with them, then drop this course now.

  1. You are expected to produce a program that has been tested. A program that does not compile cannot have been tested at all. Accordingly, a program that does not compile will receive no credit, regardless of how little it needs to be changed to make it correct. Always compile and test your programs before handing them in. If you make any modification at all, no matter how trivial, retest your program.

    Your program should use correct ANSI C++. In ANSI C++, the main function must return an integer. If you have been told to make its return type be void, forget that information; it is wrong. Make main return 0. Failure to do this results in a program that will not compile under an ANSI-compliant compiler. Microsoft Windows compilers are generally not ANSI-compliant. You have been warned.

  2. I must be able to read your program. Programs must be well indented. The program must adhere to a single indentation scheme throughout. Minor indentation problems will result in loss of points. I will not attempt to read a very poorly indented program, and such a program will receive a score of 0, regardless of whether or not it works.

  3. Programs must be printed in a fixed-width font. Programs that are printed in a proportional font will not be accepted.

  4. You are expected to write clear documentation. Every function must have a contract. The contract must be written just before the function. Write clear, complete sentences. Spell correctly. The contract for the main program is the comment at the top of the program. It does not need to be written again just in front of the main function.

  5. You will be given explicit instructions, and you are expected to follow them. Do not do something different because you feel like it. If you tell me that you modified the assignment to make it easier to do on your computer, I will say fine, and give you a poor grade because you did not follow the instructions. So follow the instructions.

See the checklist for developing and turning in programs for additional suggestions on what to check for, and for additional advice on writing high quality computer programs.