The Textbooks

Recommended Books

The following two books are covered in lecture and some homeworks. You do not strictly need to get them so I have made them recommended, but you will need the books or some other source of this information.

NOTE: all books below are accessible electronically via the JHU library, click on the links below to access the electronic versions (the electronic versions are under the Find It link at the right). To access the content you must either be on the JHU subnet or using the JHU VPN (JHConnect, accessible from if you are off-campus.
NOTE 2: There are only 9 simultaneous sessions for all of Hopkins allowed at one time so if you get an "unavailable" message you will have to try again later.

Head First Object-Oriented Analysis and Design by Brett D. McLaughlin, Gary Pollice, Dave West
This book covers object-oriented design principles and practice. It is 600 of the easiest textbook pages you will ever read, the concepts are not deep and the book hits every point from many angles. There is a downloads page which contains the code examples used in the text.
Head First Design Patterns by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra
This book covers design patterns in depth and some general object-oriented design principles.

Other Books

We cover topics in these books.
UML Distilled by Fowler, third edition
Covers UML (plus a few facets of Object-Oriented Design).
Refactoring by Fowler
Bible of Refactoring Technique.
Effective Java by Bloch
Advanced Java programming tactics that we will cover some of in class.
Design Patterns by the Gang of Four
The Bible for Design Patterns. Outdated and harder to read than the Head First book we are using