2. special cases - your tests show me that your code works when used by the clinically insane. Most people cover case one. Only some have a good attempt at case 2. I think students are assuming too much sanity on our part, the TAs. A point to remember is that the TAs have more experience in crashing nachos, and they may use it during testing.
People are quite confused about what goes into a design document.
This are some guidelines which will help you in getting a better mark. This is supposed to be a technical report. Identify functionality, describe the data structures which are important to understanding your design, mention the algorithms you used and how they relate to the data structures. Not everything has to be given in excruciating detail. Do not concern yourself with the shortness of your document if you are fairly convinced that you covered the issues that matter.