Policies and procedures
This page is where we will try to explain the adminstrative
aspects of the course requirements and our expectations of you.
Let us know if you find an issue that we have overlooked
that you think would be of general interest to the class.
** I am a T.V. student. When and where can I take the exams?
If you live within driving distance of campus (50 miles) you are expected to come to campus and take exams at the regularly scheduled time and place. Remote T.V. students should contact the instructor to make arrangements.
** What is the course policy on collaboration?
In general, what you submit for grading is expected to be your original work. Refer to our collaboration policy for more information on what we do and don't consider acceptable. The Stanford Honor Code is taken quite seriously in this course and all violations will be handled through Judicial Affairs.
** Can/should I work with a partner on the programming projects?
You have the option of working with one partner on the programming projects. The project requirements are the same regardless of whether you work alone or with a partner. Having a partner can mean less coding per person but you are responsible for fully understanding all the code, even parts you didn't directly work on. Pairs will receive the same grade for the assignment. Please note that we can only grade what you turn in. If your partner fails to implement their part, then you both will lose points. Get a partner that you trust. Also be sure you are clear on the specific collaboration rules for partners.
** How do we submit assignments?
All programming assignments are submitted in electronic form on the leland
UNIX systems and they are due by 11:59pm of the day listed on the
syllabus. You should build and test in the leland environment before
submission since that is where the programs will be exercised for
grading.
See the instructions for how to electronically
submit for more details.
Written assignments are due by 5:00pm of the day listed on the
syllabus. They may be turned in in-class or to a box outside of
Professor Aiken's office (Gates 411), or they may be electronically
submitted, similarly to the programming assignments.
** What about late assignments?
Unless otherwise announced, late work is penalized .5% per hour late. An assignment is considered to be turned in when we receive it, not when you deposit it; i.e., if you leave a written assignment under the door in the middle of the night, it will be logged received at the time the course staff member finds it the next day.
Some of the later assignments have firm deadlines and will not be accepted late. Refer to our late policy for more details.
** How are assignments graded?
The assignments are evaluated mostly on correctness and the
bulk of the grading is done by examining the output. We run your program
through the various test files and compare (diff) your output to the
output of our solution. Your best bet is to thoroughly test your program
on the provided test files, and make up others of your own until you feel
confident in your results. We will not spend a lot of time examining your
source and/or giving design feedback. It is not that we don't consider
style or design is important, but by now all of you have taken a course
like 107 and we hope you have internalized and practice good coding
practices as a matter of habit. Thoughtful design and coding will improve
your chances of having a correctly working program, too. Also note that we
will not be poking around trying to fix broken submissions that don't
compile or fail to execute properly on our tests; only limited partial credit will be
given in such situations.
** What about regrades?
If a programming assignment has a single, simple mistake that
causes you to miss multiple test cases, you may submit for a regrade.
The request must be within 2 weeks of when the assignment is returned,
you must explain in writing why you feel the regrade is justified,
and you must also submit the new version of the code and a diff showing
the changes that were made.
Partial credit will be restored only for fixing small bugs that caused many points to be
lost; implementing missing features (even if they don't require much code)
or fixing serious problems (generally defined as having to make changes
in several places in the code) are not eligible for regrades.