Collaboration
- Discussion is encouraged!
- We expect highly ethical behavior.
- Representing someone else's work as your
own is unacceptable.
- Familiarize yourselves with the CSE, COE and UW policies
on academic honesty—we will pursue cheating as described in
these policies.
- If you have a question about what is allowed, ask!
A few details
- You are free to use conceptual material that you obtain from
textbooks, the Internet, and other sources. For instance,
Introduction to Algorithms by Cormen, Leiserson, Rivest,
and Stein is an excellent resource for algorithms. If you use such
material, give explicit credit clearly in your documentation.
- Looking at other peoples' code or solutions is not permitted;
consistent with this, you may allow only the course staff to access
any location where you keep CSE 331 code.
- You can, however, help other students with tool-related
problems (such as using Eclipse or SVN), even if this results in
incidental viewing of snippets of code.
- It is permissible to discuss approaches to the assignments with
other students, but the code itself is off-limits.
- Apply the Gilligan's Island rule—if you watch mindless TV
for ~30 minutes after a discussion with classmates, and you can
still reproduce the materials from memory (no notes, no email,
etc.), then you can consider it yours.
- When you turn in assignments, list everyone with whom you've had
substantive discussions (give credit where credit is due).
- We will use technological and other means to detect cheating.
Fine print
- It's not effective for us to try to
define a list of all impermissible activities. This approach can
tempt people to look for loopholes. Consider the point above:
"Don't represent somebody else's work as your own." This includes
things like using any substantive material or solutions from
similar assignments this term or previous terms at UW or elsewhere,
including anywhere on the Internet, transcribing solutions from any
other source, etc. Our policy is intended to convey the spirit of
the law, fully understanding that the letter of the law may not
cover everything that someone may think of.
|
Late Days
Each student is allowed four late days for assignments during the
quarter. Each late day allows you to turn in your assignment up to 24
hours after the due date. Each late day is used entirely or not at all
(that is, you can't take .03725643 or even 0.5 late days). Late days
can be combined. Unless we announce otherwise, you can use a late day
simply by sending an email request to the staff email list (see above)
with your name and your UWNetID.
Grading
policy
Subject to
change —5% extra yet to be allocated
5% |
Staff discretion (including course participation) |
5% |
A0 |
10% |
A1 |
10% |
A2 |
10% |
A3 (one grade/pair barring exceptional conditions) |
15% |
A4 |
15% |
A5 |
12.5% |
Mid-term |
12.5% |
Final |
Each student in the class is graded independently of one
another—for example, there is no limit on how many students can
earn a 4.0 or a 2.0. Neither is there a pre-determined absolute
percentage score that earns a 4.0 or a 2.0.
We set percentages like these after the quarter is over using
resources such as the English descriptions in the Sample
UW Grading Guidelines.
We also discuss each student individually asking questions like "If
I were founding a startup, would I hire this student?" and "Did this
student master the material?"
We will try to standardize grading policies across the staff, but if
needed we will make adjustments.
|
Books and Useful Websites
Required: Cay S.
Horstmann and Gary Cornell. Core
Java: Volume I, Fundamentals (8th Edition). Prentice Hall
(2007). ISBN: 0-13-235476-4.
Strongly
recommended: Joshua Bloch. Effective Java (2nd Edition).
Prentice Hall (2008). ISBN: 0-32-135668-3.
Other books you would benefit from (now and most definitely over
time)
- Andrew Hunt and David Thomas. The Pragmatic Programmer: From
Journeyman to Master
- Steve McConnell. Code
Complete
- Andreas Zeller. When Programs
Fail: A Guide to Systematic Debugging
- Martin Fowler. Refactoring:
Improving the Design of Existing Code
- Cay Horstmann: Object-Oriented
Design and Patterns
Useful Java websites
- Oracle's main Java site
- Oracle's Java documentation site
- Sun's 1.6 JDK site,
including documentation of all APIs
- Sun's Java tutorial site (mostly
now for Java 7, but the early material especially should be fine
for Java 6)
- Java Language
Specification
|