Comments should not point out the obvious, as in
i=j; /* Set i to have the same value as j. */Nor should they cover high-level material discussed in the writeup. Instead, they should provide the conceptual bridge between algorithm and code.
Picking good names for identifiers is just as important. While i, j, and k are acceptable as loop iterators, you should choose variable names, struct fields, and names of auxiliary functions in a manner such that their relevance to your algorithm is apparent.
Note: if your data structure relies on some parameter (e.g. the cryptic p of skip lists, or a hash function), document how your code picks its value at run-time, or describe your rationale behind choosing a fixed value.
Pretend you own your brand new "CS161 Student Project Co." Silicon Valley startup and you want to convince us to buy your product. And we are a tad smarter than Dilbert's boss ...
You may turn in your writeup in any one of the following formats:
Why HTML? Not only does HTML allow you better formatting than mere text, easy inclusion of images, facilities for building tables, and other niceties, but it also makes it easy to provide hyperlinks to on-line descriptions of related work. More importantly, you may incorporate your writeup in your personal WWW pages; then, when you get the interview question "So, what were your class projects like at Stanford?", you can smile smugly, walk over to the interviewer's workstation, and point-and-click. (If they don't have a WWW browser, you may want to think again whether you want to work there.)
If you decide to turn in your writeup in HTML, please create a subdirectory named doc_html within your project directory, and place within doc_html all your HTML files and other multimedia aides. Also, if your documentation comprises multiple HTML files, please make sure that the first page we should read is in a file named index.html, residing in your doc_html directory.
/usr/class/cs161/project/bin/161submit
Here is a short FAQ regarding the submission process:
There should be only one submission per group. Individual group members need not (and must not) each submit the same project individually.
You can re-submit at any time before the official deadline. If you do, all the contents of your previous submission will be wiped out. This means you will be judged solely on your last submission, so be careful about making changes at the last minute.
If your group comprises more than just one person, then all submissions must be made by the same person.
Unlike some other submission programs you may have used, 161submit does not send out an email message notifying you of successful completion of the submission process. 161submit has done its job if it has executed without any errors, and if it lists all the required project files before it exits.
161submit just copies the scheduler.c, pqops.c, *.h, and documentation from your current directory into the class directory. It doesn't change any file or directory permissions in your account.
You may clean up your account, and eliminate all project-related files, anytime after submitting your work. However, we strongly suggest that you do not do so before the end of the quarter.