There are two textbooks for the class.


Head First Object-Oriented Analysis and Design by Brett D. Mclaughlin, Gary Pollice and David West. Published by O'Reilly. ISBN-10: 0-596-00867-8. This book offers an excellent introduction to the topic of OO A&D. It introduces the topic gradually making use of code-based examples that illustrate clearly the relationship between decisions made at the analysis and design level (often via the use of UML diagrams) and their impact on the code of an object-oriented system. It also clearly defines analysis techniques in a way that make them feel "more real" to students who may not have been exposed to analysis and design considerations before this class.


Head First Design Patterns by Eric & Elisabeth Freeman. Published by O'Reilly. ISBN-10: 0-596-00712-4.  This book covers a wide array of design patterns and shows them being used in multiple contexts. It also identifies how some design patterns are simply combinations of more simple patterns used in a particular way. A design pattern is simply a known solution to a common design problem. By learning design patterns and when/where they should be used, you increase your skills both as a programmer and as a software designer. Design patterns let you avoid re-inventing the wheel each time you create a software system and allow you to focus on what is truly unique about the application you are trying to build.

We will be working our way through the entire Head First OO A&D book during the first eight weeks of the semester and then switch to covering the content of Head First Design Patterns (along with other topics such as refactoring, test-driven design, OO Web application frameworks, etc.) during the last eight weeks of the semester. 

Kenneth M. Anderson, 2007.