|Algorithms and Data Structures|
The text book for the course is Data Structures and Algorithms in Java by Michael T. Goodrich and Roberto Tamassia. It is essential that you have a copy of this book. (Note: I sometimes refer to the book as DSAJ).
The authors have made available a rich body of supporting material for this book. On the web, each chapter has a summary with cool applets, source code, and teaching aids. There are overhead slides for each chapter. The support for the book is excellent.
The book also takes into consideration
software engineering aspects of data structures and algorithms. One issue
important to the book is the idea of software design patterns.