If the assignment code IS running (as demonstrated clearly and unambiguously by the output) AND following the specifications as listed on the assignment, it is worth 80% of the total grade.
If the assignment is NOT compiling/running, it is worth at most 20% of the grade--unless the grader *can* locate the error, and pass his judgment on how close the assignment is to completion (normally, you should not expect this effort from the grader).
The remaining 20% of the grade will be based on the following issues:
1. Readability: Includes style and modularity.
2. Comments: Your program should be heavily commented.
3. Instructions on the environment needed to run the assignment. Please specify, as comments at the beginning of your code:
a) The OS that the code runs (e.g., SunOS 4.*, Solaris 5, Linux, etc.)
b) The compiler used to run the code: cc, Gnu C, etc.
c) Any environment settings needed: paths, parameters, etc.
d) any libraries needed, and their absolute paths.
e) Anything else that the grader needs to know.
4. Output: Your output should clearly and unambiguously demonstrate that your code produces what it is supposed to produce, as specified in the assignment. Occasionally, this becomes a major problem. Please consult with your recitation leader if you are not clear about the specifications of the assignment.
5. Error-Handling: Error-Handling: All UNIX system calls should be checked for errors. This means that the return value of all system calls must be checked, and perror should be used for failed calls where appropriate.