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