Generic Instructions for Assignments

Assignment Rules

These programming instructions apply to all assignments in this course, unless otherwise noted.

You should work independently, not in groups. Although you can discuss your approaches in general terms, you cannot share solutions: that is regarded as cheating..

What to submit

Your programs should be reasonably efficient and properly documented. This implies both comments within the program itself (internal documentation) {\em as well as} a written document that explains the objective of the program, its design, and how it was tested and an indication re. its correctness} (external documentation). This implies you must provide {\em convincing evidence} that your program works (imagine that you are making a sales pitch, if that's a helpful mental model).

Although UNIX man pages provide rather less information than this, observe that they serve as a crude example in that they contain a synopsis of the program it's use and characteristics, and a ``feature'' and/or bug list. (Unlike your submissions, they do not provide any evidence of correctness.)

For programming assignments, a program that compiles and runs is the minimum acceptable level of performance. Each program should run for various inputs: making sure there is sufficient test data is your responsibility. Your program may be compiled and executed on UNIX and if it fails to run for all test inputs, you may lose a major portion of your marks.

By default, unless otherwise specified, programming assignments should be submitted in the two forms:

handin

For electronic submission use the handin command. READ THE man page ON HANDIN IF IN DOUBT!

Here is an example:

         handin cs557 ass2  ass2.c mydocs
In this case, ass2.c and mydocs are two files (in your directory) that are to be submitted. NOTE THAT ass2 IS AN EXAMPLE of the handin directory you might use! Type "handin cs557" to find out what the possible handin directories are.

The paper copy of your assignment should be put into the assignment submission box on the 1st floor of McConnell, outside the workstation lab.