Each student will tested by the instructor of his section. Students cannot be tested by the other instructor without his instructors' permission.
Although JCT will not give a student more than 100 for a course, bonus points can help if you lose points for other things.
[if you don't do this, you'll lose 10 points]
Buffer overflows are a very common way for crackers to break into UNIX systems. Using the 'n' version of functions minimizes the chances of that happening. If you want to read more about buffer overflows, try some of the following links:
NOTE: Many students program their servers using state transitions. In the past, they have simply assigned each state a hard-coded number. This makes it very hard for someone else to understand the program. If you use state transitions, use meaningful names.[Not doing this can cost you 10-20 points, depending on how hard the program is to understand]
There is an example
of implementing timeouts.
[If you don't do this, you lose 5 points.]
open/read/write is the lowest level of I/O, which means that there is less unseen code and less to go wrong. Remember, regarding the file, your server is just a pipe; it does not care what the contents of the file are.