Guidelines for lab submission

The following guidelines for lab submissions were introduced by Robert Soule during the 2006-07 fall semester and have been modified since. Please be sure to follow these guidelines when submitting your labs. They are required to receive full credit on the labs. If you have any questions, please send an email to the class mailing list, and I will respond.

You must submit be one single file, either a .zip file or a gzip'ed .tar file. (Other archive formats might be acceptable, but these two are recommended). You must upload this one single file to NYU Classes.

The zip or tar file must expand to a directory that contains your lab. That is to say, put all your source files and the README into a directory, and zip/tar the directory. Do not zip/tar the individual files directly.

The directory must be named lab#-lastname-first. For example, if I were submitting lab 1, I would put my solution into a directory named lab1-soule-robert

The directory must contain a plain text file named "README" in which you explain how to compile and run your program. A readme file consists of the following:

  1. Compilation command. Example: javac Driver.java
  2. Running command. Example: java Driver
  3. If your solution has a sophisticated directory hierarchy, point out the directory from which I should compile and run your program.
  4. Give a short description on the purpose of each file.
  5. Mention if you did the extra credit (if such was given)

As mentioned, the README must be a plain text file, not an MS Word document, or some other binary format.

I will be compiling and running your lab on an nyu machine using the commands you specify in the README file. These commands are part of your lab assignment and must be correct.

If you have a Makefile or an Ant build.xml, include that with your submission in your directory as well.

Name the source code files for your handin using the file extension appropriate for the language used. For example, a c source code file would be named myfile.c, a c++ file would be named myfile.cpp, and a java file would be named myfile.java.

In the example below lines beginning with a * are what you type (without the *, and after substituting appropriate material for the parts inside <>).
Lines beginning with a + have the substitutions I would make for lab1.
Lines beginning with a - are actions you would perform.

   * mkdir lab<number>-<lastname>-<firstname>
   + mkdir lab1-soule-robert
   - put all of your source files into this directory

   - put a README file explaining how to compile and run your program
   - into this directory
   - cd to the parent of this directory

   - tar or zip the directory (use "gtar" in Solaris)
   * zip -r lab<number>-<lastname>-<firstname>.zip lab<number>-<lastname>-<firstname>
   + zip -r lab1-soule-robert.zip lab1-soule-robert

   * tar -zcvf lab<number>-<lastname>-<firstname>.tar.gz lab<number>-<lastname>-<firstname>
   + tar -zcvf lab1-soule-robert.tar.gz lab1-soule-robert
Allan Gottlieb