Lecture: Monday, Wednesday, Friday 2:30-3:20 EEB 105
Optional TA-led meetings: Tuesdays 3:30-4:30 EEB 037 and Thursdays 4:30-5:30 EEB 037
Optional TA-led meetings will be held most but not all weeks and will be announced in advance
Dan Grossman, Allen Center 574, Tuesdays 9-10AM + by appointment + try stopping by
Sam Wilson, Allen Center 220, Mondays 11:30AM-12:30PM
Nicholas Shahan, Allen Center 021 (basement), Tuesdays 1:30-2:30PM
Sam Wilson, Allen Center 220, Wednesdays 11:30AM-12:30PM
Conrad Nied, Allen Center 220, Thursdays 9:30-10:30AM
Jasmine Singh, Allen Center 220, Thursdays 2:30-3:30PM
Conrad Nied, Allen Center 218, Fridays 10:30-11:30AM
Luyi Lu, Allen Center 218, Fridays 1:30-2:30PM
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.
Email sent to firstname.lastname@example.org (not @u...) will reach the instructor and all the TAs. For questions multiple staff members can answer, please use this email so that you get a quicker reply and the whole staff is aware of points of confusion.
All staff: email@example.com (not @u...)
Instructor: Dan Grossman, firstname.lastname@example.org, not @u...
TA: Luyi Lu, email@example.com, not @u...
TA: Conrad Nied, firstname.lastname@example.org, not @u...
TA: Nicholas Shahan, email@example.com, not @u...
TA: Jasmine Singh, firstname.lastname@example.org, not @u...
TA: Sam Wilson, email@example.com, not @u...
Course Discussion Board (optional but encouraged)
Anonymous Feedback (goes only to the instructor)
Material in the future naturally subject to change in terms of coverage or schedule
Optional sections that cover certain topics more in depth from the lectures and may or may not have postable items.
Homework 0: on-line survey worth 0 points, "due" Friday September 29
The programming assignments will use Java. We will use Java 7, the most recent version of the language. So if installing Java on your own machine, you can get Java 7 from http://jdk7.java.net/.
We strongly encourage 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. Some guidance on getting started with Eclipse is included in Homework 1.
The textbook is Data Structures and Algorithm Analysis in Java, Mark Allen Weiss, 3rd Edition, 2011, ISBN: 0132576279. Errata is here. Code from the book is here. We will also do our best to support the 2nd Edition, ISBN: 0321370139. Errata for the 2nd edition is here. Code for the 2nd edition is here. The textbook is also available for 4 hour loan at the Engineering library. The textbook often provides a second explanation for material covered in class.
A Java reference is also strongly recommended. While there are a variety of (more than) sufficient references, we recommend Core Java(TM), Volume I--Fundamentals 9th Edition, Cay S. Horstmann and Gary Cornell, 2002, ISBN: 0137081898.
For the material on parallelism in lectures 21 and 22 (and much more we did not have time for), see these notes written by the instructor. We covered the material in Sections 2.1-2.3, 3.1-3.3, 3.5 and 4.1-4.3 (except the last two paragraphs of 4.1.3).
Here are some interesting, usful, and accessible articles related to the course material. These are optional reading that you may find helpful and enriching.
Acknowledgments: Many of the materials posted here and used in the course have been shared and refined by many other instructors and TAs in previous offerings of CSE373, CSE332, and CSE326. This version of the course was particularly based on previous offerings by Ruth Anderson.