Textbooks
Bernd Bruegge and Allen Dutoit,
Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition
, Pearson:Prentice-Hall.
Publisher's web page for the text
Kent Beck, Cynthia Andres, Extreme Programming Explained, Addison Wesley 2nd Edition