Your project submission comprises three parts:
Once you have all parts completed, you should follow the instructions
on submitting your project.
- Your code.
- Your identification data.
- Your writeup.
Your code should meet the following requirements:
- It should all be in a single file named
octree.c or octree.cc; for example, if you made
a local copy of octree.h and modified it, make sure you
cut-and-paste the modifications into octree.c or
octree.cc before submitting. The octree.c or
octree.cc file should reside in your
- It should be written in C or C++.
- It should compile on an epic, using
the do compile command.
- It should run correctly on an epic,
using the do test command.
- Outside commented text, it should only contain
code potentially invoked by our code. So, if you defined any
auxiliary functions for debugging purposes, or if you have
interspersed assertion statements in your code, please remove them or
comment them out before submitting.
- It should be documented well, with in-line
comments and well-picked identifiers.
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.
Your identification data
Your identification data should be present in a file named
README and residing in your cs161_project
directory. Its contents should be, in order:
As this file will be automatically parsed, please follow the
above format to the letter: do not put any decorative titles, extra
blank lines, etc.
- The names of all the members of your group, each on a separate
- An empty line.
- The SUNet IDs (Sweet Hall logins) of the members of your group,
each on a separate line.
Here is a sample README file; there are no empty lines
before the first name:
Apostolos "Toli" Lerios
Your writeup should cover the following topics, at least; you may
cover more topics if you wish, but submit no more than (the
equivalent of) five 8.5x11 pages total:
You may turn in your writeup in any one of the following formats:
- A complete description of the algorithms you implemented for
tasks 3, 4, 5, 7, 9, 10 (optional). Describe how you build and print
your octree, how you retrieve the volume value at a given point, and
how you trace a ray in the presence of floating point pitfalls.
- Your answers to tasks 1, 2, 6, 8.
- References/credits: if you used any papers, books, WWW pages,
public domain code, etc. that we did not provide to you, please give
credit where credit is due. Acknowledgments to people who helped you
(aside from project partners and the teaching staff) are also welcome.
- HTML. Since basic HTML can be very easily learned following an on-line
tutorial, we encourage you to turn in your writeup as a collection
of HTML files, images, and other multimedia aides.
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.
- PostScript. If you choose this format, please place your
complete writeup in a file named documentation.ps, residing
in your cs161_project 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
- Mere text (just ASCII). If you choose this format, please place
your complete writeup in a file named documentation.txt,
residing in your cs161_project directory.
Submitting your project
You should submit your project electronically; we do not want
any hardcopies of code or writeups. Follow these steps to
submit your project for grading:
Here is a short FAQ regarding the submission process:
- Log on an epic.
- Make sure that all the required project files/subdirectories are
in your cs161_project directory, as discussed above.
- cd to your cs161_project directory,
i.e. cd within your
- Execute do submit and follow the instructions on the
- If do submit does not cooperate, please call the
- Does each group member have to submit their common project
There should be only one submission per group.
Individual group members need not (and must not) each submit the same
- My group made a few last-minute changes. Can we submit
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
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.
- How do I know whether do submit completed
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.
- What does do submit do to my account?
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.
- Do I need to keep around my personal copy of the
cs161_project directory after submitting?
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
© 1998 Apostolos Lerios