Submitting Programs and other work

Programs in this course are to be done by each student independently, unless an explicit exception is made for a given assignment. Programs MAY be accepted late, but ONLY up to 1 calendar week after the due date, possibly as extended for the entire class. A lateness penalty of 3 points per calendar day late is subtracted from the grade the program would otherwise earn. A credit of 1 point per day early MAY be added, as well.

Programs are to be submitted as a computer-readable version of the SOURCE code ONLY, submitted to me using a special program described below. The date the computerreadable files were last modified will usually govern the date on which I regard the program as "submitted", if there is no unusual delay in sending those files to me.

Other work should also be submitted as computerreadable files, using the method below. Files can be in the form of text, or *.pdf, or Microsoft Word *.doc.

To submit the computer-readable version of a problem, which can consist of more than one file, type

~raw/bin/files <problem number> <list of file names>

The file names should all be accessible from the current directory at the time the "files" command is typed. The list of files will be printed by "files" before they are sent, for your verification. You may submit more than one version (set of files) for a given problem, and ideally (if I have time) the grade you receive for that problem will be the maximum of the grades any of the versions you submit would have earned (including lateness). You should submit all the source files needed for me to compile your program -- object files alone don't count, and should not be submitted.

You should include documentation for each program, which can refer to the problem specifications, for brevity. Special methods you have devised for solving a given problem should be explained in your internal documentation, along with a precise description of the contents of each array or structure your program builds. The action of each of your subroutines should also be described in an initial comment. This action should be described as a function of the arguments to that subroutine, and any arguments not passed explicitly MUST be mentioned in the initial comment.

You should protect your files from unauthorized reading or copying, by using the "chmod" command, to make them unreadable by "group" and "other":

chmod og-rwx <file>

More conveniently, you can keep your files in a directory CPS206, which itself has been protected once, via

chmod og-rwx CPS206

This will allow you to create many files in that directory, none of which can be accessed by anyone else, without further use of the chmod command.