Princeton University |
Computer Science 402 |
|
# |
Due |
Topic |
0 |
Friday, Sept. 10 |
|
1 |
Wednesday, Sept. 22 |
|
2 |
Thursday, Oct. 7 |
|
3 |
Friday, Oct. 22 |
|
4 |
Monday, Nov. 8 |
|
5 |
Tuesday, Nov. 23 |
|
6 |
Wednesday, Dec. 8 |
|
7 |
Tuesday, Jan. 11 |
Homework assignments will be a mix of written exercises and programming.
The programming part of each assignment should be turned in electronically using the class whiteboard page by clicking on "Assignment Submission" and following the instructions. To authenticate yourself, you will need to type your Princeton OIT Unix login and password. (This will only work after you have sent your name and login to the TA. See HW#0.) You will receive an email confirmation for each successful submission. You can resubmit or unsubmit files as needed.
Written exercises must be submitted in hard copy, and can be turned in at the end of class, or can be submitted by placing in the envelope on the door of Zafer's office (216 CS building). If you are unable to access Zafer's office in the CS building after hours, you can instead submit your homework by placing it in the envelope on the door of Matt Hibbs' office, room 001A, which is in a part of the CS building that does not get locked up.
Grades will be posted using whiteboard.
All assignments are due at 11:59pm on the due date.
Each student will be allotted seven free days which can be used to turn in homework assignments late without penalty. For instance, you might choose to turn in HW#1 two days late, HW#4 three days late and HW#6 two days late. Once your free days are used up, late homeworks will be penalized 20% per day. (For instance, a homework turned in two days late will receive only 60% credit.) Homeworks will not be accepted more than five days past the deadline, whether or not free days are being used. Exceptions to these rules will of course be made for serious illness or other emergency circumstances; in these cases, please contact me as soon as you are aware of the problem.
If you are turning in a late written homework after hours when no one is around to accept it, please indicate at the top that it is late, and clearly mark the day and time when it was turned in. Failure to do so may result in Zafer considering the homework to be submitted at the time when he picks it up (which might be many hours, or even a day or two after when you actually submitted it).
The collaboration policy for this course is based on the overarching objective of maximizing your educational experience, that is, what you gain in knowledge, understanding and the ability to solve problems. Obviously, you do not learn anything by copying someone else's solution. On the other hand, forbidding any and all discussion of course material may deprive you of the opportunity to learn from fellow students. The middle ground between these two extremes also needs to be defined with this basic principle in mind. Before working with another student, you should ask yourself if you would gain more or less by working together or individually, and then act accordingly. Here are some specific guidelines based on this principle:
You are certainly free (and encouraged) to talk to others about the material in this course, or for general help with Java, whiteboard, etc.
Before working with someone else, you should first spend a substantial amount of time trying to arrive at a solution by yourself. Easier problems, including many or most of the written exercises, should be solved individually from start to finish.
Discussing harder problems or programming assignments with fellow students is allowed to the extent that it leads all participants to a better understanding of the problem and the material. Following such discussions, you should only take away your understanding of the problem; you should not take notes, particularly on anything that might have been written down. This is meant to ensure that you understand the discussion well enough to reproduce its conclusions on your own. You should also note on your solution who you worked with.
Needless to say, simply telling the solution to someone else is prohibited, as is showing someone a written solution or a portion of your code. Comparing code or solutions also is not generally permitted. However, comparing and discussing the results of experiments is okay if done in the spirit of the guidelines above.
All writing and programming must be done strictly on your own. Copying of any sort is not allowed. You may not use code or solutions taken from any student, from the web, from prior year solutions, or from any other source. You may use anything which is part of the standard Java Platform.