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.
Here is a sample README file; there are no empty lines before the first name:
Apostolos "Toli" Lerios Aristides Gionis tolis gionis
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 cs161_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.
If you use a Mac/PC to produce your PostScript file (usually, by printing to a file), make sure you instruct your word-processor to include all fonts in your file (if applicable); also, use Fetch in raw mode (or FTP in binary mode) to transfer your file onto an epic.
There should be only one submission per group. Individual group members need not (and must not) each submit the same project individually.
You should normally execute do submit just once, after you are 100% sure you are done with your project. If there is a catastrophe, and you end up submitting twice (by executing do submit again), all your previous submissions will be automatically deleted.
If your group comprises more than just one person, then all submissions must be made by the same person, and from a cs161_project directory created by that person.
Unlike other submission programs you may have used, do submit does not send out an email message notifying you of successful completion of the submission process. do submit has done its job if it has executed without any errors, and if it lists all the required project files before it exits.
do submit just copies the relevant contents of your cs161_project 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.