Unix Systems Programming
CSPP 51081

Submission Policies


You can test your code on any Unix or Linux system, but your code must run on one of the Computer Science machines running the Debian 3.0 distribution (the CSPP machines on the Fourth Floor of Ryerson are running Debian 3.0.) See computers for a list of computers and the distribution they are running. I will test your programs on admiral.cs.uchicago.edu.

Your program must compile without warnings when compiled with gcc -WALL. Compiler warnings will be taken to be a sign of poorly designed code which is vulnerable to bugs. I have often caught errors that I was warned about by the compiler.


Programming assignments are evaluated on Functionality and Design. The grade for each assignment breaks down as follows

The criteria used to assess your program can be found at Course Style Guide.

Assignment Organization

All assignments submitted must conform to the following guidelines (assignn refers to the nth assignment)

Assignment Submission

Assignments are due at 5:30pm on Tuesdays. You will be penalized 10% for every 24 hour period in which your assignment is late. No extra credit points will be awarded to late assignments.

There is a two step procedure for submitting your assignment:

  1. Move into the directory assignn: the directory containing your assignment
  2. Type: ~kaharris/handin
    You will be asked to verifiy you are in the correct directory.
  3. There is nothing more you need to do.
Your assignment will be packaged and sent to me.

Using Code You have not Written

I will frequently provide links to code to aide you in your programming. I only ask that you actually type the code--do not cut-and-paste. By taking the time to type the code you give yourself a chance to digest the logic of the implementation. You may also find that the code can be written better, or that you need to modify some parts to fit your application. Another advantage to typing the code is that it maintains consistency of style in your program. Typing the code yourself helps you understand the code and modify it to best suit your needs.

Never cut-and-paste a file to be read by make. The make utility expects certain action lines to be indented by a tab; cut-and-paste replaces this by eight single spaces. Make will not accept this file.

Script File

You will need to provide a script file documenting the correct functioning each program you submit. This is your certification that your program satisfies the specifications for the program in the assignment. To produce a script file type on the command line script. This will start a new shell session and produce a typescript of everything printed on your terminal. Enter commands just as you would on the command line. To leave the session type exit at the prompt. A file of your session is produced called typescript. You can maintain a running file of multiple sessions so you do not have to generate your entire typescript on one run. The first time you run the script execute script. Then on each subsequent new session execute the command with the append option, script -a, then new session will be appended to the file typescript. See the manpages for further details on the use of script.