Grading Form for CS-701 Fall '95 Assignment 3
---------------------------------------------


PROJECT MANAGEMENT
------------------

[Are all files under SCCS control?  Can the final version of the
programs and the documentation be retrieved and built by typing "make"
in an empty project directory?  Are SCCS keywords present in all text
and executable files?  Was the project done as a sequence of steps,
each with its own delta?  Are all deltas commented meaningfully?  Is
each program divided into modules?]

	Using RCS (properly) instead of SCCS is worth a 0.1 point
	bonus for this assignment.

USER DOCUMENTATION
------------------
[Is there a man page with the same file name as the program and an
appropriate extension?  Is the man page written for the proper audience
(end users)?  Does the structure match that of Unix man pages; is the
information well organized?  Is the information presented clearly,
completely, and yet concisely?]

	The command "make install" is to install the man pages and
	executable files in the appropriate directories, leaving the
	project directory empty.

	Are the client and server programs named meaningfully?
	(Terse Unix-style names are all right so long as they
	have mnemonic value.)

	The man page for the server will be different from normal
	man pages because the server is not a command that would
	normally be run by an end-user.  A way to handle this issue
	is to write the man page as if the client program is the
	user.  That is, in addition to telling real users what
	command line options are available, list the types of messages
	the program accepts over its socket interface, and the
	types of replies it sends.

	How well do the man pages describe the programs, as opposed to
	the specifications given in the assignment?

	/2


CODING STYLE AND DOCUMENTATION
------------------------------
[Is there an introduction for each file, and does it summarize the
contents of the file clearly?  Is the author's name given in each
file?  Is each function described clearly?  Is the layout of the code
easy to read: consistent, small indents; whitespace and horizontal
lines to help make the program structure clear and to help see where
functions begin; comments introducing each step of each algorithm?
Are the variable names meaningful, with some consistency to the use
of upper/lower case and underscores?  Is the use of the C language
appropriate: no unneeded variables or loops; use of standard library
functions wherever available; efficient use of the CPU?]


	/2


CODE FUNCTIONALITY
------------------
[The criteria for this section vary from assignment to assignment.]

	Does the server respond to all commands properly?
	Does the server process manage its children properly?
	Does the client provide a good user interface?
	Does the client interact with the server properly?

	/2


PROGRAM GRADE
-------------

Late Points:	-0.0	
Extra Features:	+0.0	

	/10.0


Christopher Vickery
Queens College of CUNY