Your code will be graded out of 10 points. Seven of the points will be based on your code's functionality as determined by the automatic testing script. The additional three points will be based on your code's design and style.
Among the 3 style/design points, we will consider the following while taking off points:
From the 7 functionality points of the assignment we reserve 1 point for doing extra functionality tests in during the grading. The following guidelines should be followed for taking off up to 6 points:
A | Does not compile * | -6 | ||||||||||||||
B | Unable to connect and transfer any data | -5 | ||||||||||||||
C | Connects to server but cannot open data connection, or transfers no files | -4.5 | ||||||||||||||
D | Connects to server but does not transfer any matching files in the specified levels | -4 | ||||||||||||||
E | Relies on a particular FTP site or non-standard settings | -2.5 | ||||||||||||||
F | file transfers: | |||||||||||||||
| -1 each (max -3) | |||||||||||||||
G | Transfers all of the matching files, but bad file checksum | -1 | ||||||||||||||
H | User interface specification: violates command-line format | -0.5 | ||||||||||||||
I | User interface specification: violates output format | -0.5 | ||||||||||||||
J | File permissions not correct | -0.5 | ||||||||||||||
K | Wrong local directory: incorrect handling of absolute / relative paths | -1 | ||||||||||||||
L | Special cases: | |||||||||||||||
| -0.5 each (max -3) | |||||||||||||||
M | Valgrind: memory problems in user code | -0.5 | ||||||||||||||
N | Socket or file descriptors left open | -0.5 | ||||||||||||||
* Not to be taken off if the program did not compile due to a submission problem; i.e. a local header file in the wrong directory, etc. |