Submission Guidelines

A hardcopy listing of your program is to be turned in during class the day the assignment is due. You should also send an electronic copy of your program via email to lavender@cs.utexas.edu. Depending on the platform on which you develop your programs, the method for creating a electronic submission will differ.

The subject line of the email should contain your name and student ID number.

Note: If you know how to create a MIME email message, feel free to submit your assignment as an encoded body part. I use a MIME compatible email client (exmh).


Unix Program Submission

You should create a Unix project directory that contains all the files required to build your program. This directory should contain a README file that describes the contents of the directory and describes which Unix system the program was built and tested on.

You must also write a Makefile that will compile and link an executable for your program. I have written a general Makefile that you can modify to suit your Unix system and choice of C++ compiler. If you have never written a Makefile, you might want to download the postscript and read the GNU Make Manual to learn more about Makefiles in general.

Before creating an electronic submission file, please clean up all the garbage out of your program's directory (.o files, a.out file, core file, etc). The best way to ensure this is to run 'make clean' (using the previously mentioned Makefile) before creating the submission.

Once you have a clean directory, you can simply tar, compress, and uuencode a file and email it as an attachment. For example, the following sequence of Unix tar/compress/uuencode commands will create a uuencoded compressed tar fi.

% tar cvf - progdir | compress | uuencode progdir.tar.Z > submit.uu
Alternatively, if you have GNU tar, you can tar and gzip in one step:
% gtar zcvf - progdir | uuencode progdir.tar.gz > submit.uu

Using your favorite e-mail client application, attach the submit.uu file to the end of a message with a Subject line containing your name and SSN.


PC Program Submission

You should turn in a hardcopy listing of your program in class the day the program is due. You should also turn in a diskette with your name and SSN clearly written on the label. Also write the platform (PC or Mac) and the compiler and version (e.g., Borland C++ 4.52) that you used to develop your program.

General C++ Style Guidelines

This is a reiteration of information that is in the handout that was given out during the first class meeting.

All C++ programs are expected to conform to some software engineering guidelines. The first guideline is that your program is well organized in terms of header (.h) files and implementation (.C, .cpp, .cc, .cxx) files.

In general, a single header file should correspond to a single class definition, and include all the information needed to use that class. Each header file should have a corresponding implementation file that implements those class methods that do not have inline implementations in the header file.

Each file should have a copyright notice identifying the software as developed and owned by you. If you "borrow" code from some other library or implementation, your should retain their copyright notice in the file in which it is used.

Accurate and useful comments about what parts of your program do is a good aid to someone else that is attempting to understand the logic of your program. You should make every effort to clearly document non-obvious parts of your programs. The following sorts of comments are obvious, and totally useless:

int x; // declare an int
...
// loop n times
for (int i = 0; i < n; i++) {
	...
}