Textbooks
Required Textbook: Barbara Liskov with John Guttag. Program Development in Java. Addison Wesley 2001
We will use the Liskov textbook to reinforce the lessons from lectures and assignments.
Required Textbook: Peter Sestoft. Java Precisely, Second Edition. MIT Press, 2005.
The little book by Sestoft is a concise description of the structure of Java programming language and is an invaluable reference to keep long after you finish the final exam.
Recommended Free Online Textbook: Duane Bailey. Data Structures in Java, for the Principled Programmer, 2nd Edition McGraw Hill 2003.
PDF available online at http://www.cs.williams.edu/javastructures/Welcome.html
This textbook introduces some of the classical data structures and algorithms that every professional programmer should be familiar with. We will see some of them, but we suggest that you continue reading texts like this to increase your repertoire of problem-solving strategies and techniques.
Additional reading material will be provided here as the course evolves.