Data Structures in Java, for the Principled Programmer
You are free to download Java Structures, the book, for educational use. You may read the book on-line, or print off copies for use on your campus, at cost.
Support for labs
Most chapters of the book conclude with a workable lab on the same subject. Many of these labs are used at Williams. You can download support files here.