Lecture: Monday, Wednesday, Friday 2:30-3:20PM EEB 037
Section AA: Thursday 1:30-2:20, BNS 203
Section AB: Thursday 2:30-3:20, BNS 203
Dan Grossman, Allen Center 574, Fridays 10-11AM + by appointment + try coming by (please do visit!)
TA: Tyler Robison, Wednesdays and Thursdays 3:30-4:30PM, CSE006 (basement lab)
TA: Stanley Wang, Tuesdays 2:30-4:30PM, CSE006 (basement lab)
Course Email List (mandatory): You should receive email sent to the course mailing list regularly (roughly at least once a day). Any important announcements will be sent to this list.
All staff: firstname.lastname@example.org
Instructor: Dan Grossman, djg and then at and then cs.washington.edu
TA: Tyler Robison, trobison and then at and then cs.washington.edu
TA: Stanley Wang, snwang and then at and then cs.washington.edu
Email sent to email@example.com will reach the instructor and all the TAs. For questions multiple staff members can answer, we encourage you to use this email so that you get a quicker reply and the whole staff is aware of points of confusion.
Course Discussion Board (optional)
Anonymous Feedback (goes only to the instructor)
Homework 0: on-line survey worth 0 points, "due" Thursday March 29
As needed, section will cover basic orientation to the software we need.
We will have 3 programming projects using Java. The third project will require Java 7, the most recent version of the language. So if installing Java on your own machine (rather than using the department lab machines), then you may as well get Java 7 now from http://jdk7.java.net/.
The course staff will assume you are using the Eclipse IDE, though we will not require this. You can download Eclipse for your own machine from http://eclipse.org/downloads; it is also installed on all the lab machines.
Java's support for generics will be very useful in our projects, but its support for generic arrays requires a few common workarounds. Read this to-the-point description.
Project 3 will use Java's Fork-Join Framework as described in this introductory document.
The textbook is Data Structures and Algorithm Analysis in Java, Mark Allen Weiss, 3rd Edition, 2011, ISBN: 0132576279. We will also do our best to support the 2nd Edition, ISBN: 0321370139. The textbook often provides a second explanation for material covered in class and we will likely assign some homework problems from it.
For the parallelism and concurrency material, these reading notes (written by the instructor) cover the same material: A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency (pdf)
A Java reference is also strongly recommended. While there are a variety of sufficient references, we recommend Core Java(TM), Volume I--Fundamentals 8th Edition, Cay S. Horstmann and Gary Cornell, 2007, ISBN: 0132354764. Note this book is also recommended for CSE331.
Here are some interesting, usful, and accessible articles related to the course material. These are optional reading that you may find helpful and enriching.