The Textbooks
Required Books
- 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 also some on
general object-oriented design principles.
Recommended Books
These books are basically tutorials on two topics,
Eclipse and UML respectively.
- Eclipse
by Holzner
- This book covers the Eclipse IDE as well as how to use Ant and
CVS with Eclipse. If you are a whiz at learning complex
software packages you can perhaps get by without this one.
But, Eclipse is a very complex tool so I recommend a book.
- UML Distilled by Fowler, third edition
- Covers UML (plus a few facets of Object-Oriented Design). You
don't have to buy this, but it is a very good reference to have.
There are also a couple recommended Java books on the
Java
Resources Page in case you feel the need for more Java
information in print than you already have in your personal library.
Other Recommended Books
These books are not officially recommended, but we will be covering
some material from them in lecture.
- Refactoring by Fowler
- Bible of Refactoring Technique. One chapter of this book will
be passed out in class.
- 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.
Online Resources
Here are some other useful references.
- Brad Appleton's on-line Patterns
for Java and Distributed Computing
- a good on-line resource for learning about design patterns.
- www.extremeprogramming.org
- A short introduction to extreme programming
- Chapter
16 of Thinking in Java: Analysis and Design
- This is a good whirlwind tour of Object-Oriented Design concepts
- Ambler
UML Intro
- A good tutorial
introduction to the different UML diagram types.