Course Schedule (includes links to lecture notes)
Data Structures and Algorithms
in Java (our textbook)
The site includes links to some great notes (in "Presentations"), code fragments from the text, and hints to exercises.
It's highly recommended that you familiarize yourself with the available resources.
net.datastructures (The interfaces
we'll be implementing)
An overview of the package used in class. The site provides: 1) an overview of why the net.datastructures package was developed and its main objectives (although not required reading, this may help some of you understand the trade offs faced by the authors and why we chose to use the package), 2) a jar file with containing all data structures, and 3) zip files with the package and source code for some select data structures.
Computer Science Learning Center (CSLC)
CSLC Coaches are often available to help you understand concepts and work through specific problems. Keep in mind their job is NOT to hold your hand through an entire assignment. Also, please be respectful of their time. I.e. don't show up 10 minutes before the center closes expecting extensive help.
This site provides several demonstrations of data structures, example code, and self-tests.
§1-3 of the text book
If you need to review interfaces, arrays, lists, stacks, and queues, the first three chapters of the book are a clear, concise introduction that will prepare your for the material covered in class.
The class will use interfaces for all data structures. If you aren't already comfortable with interfaces in Java, you should read the materials linked. It is part of a larger tutorial on Java - it may be helpful to do a quick read of the entire tutorial from the beginning.
The class will make use of Java's ability to work with generic types. If you aren't already comfortable with generics, you should read through the first 2-3 sections of this tutorial. Note: you may need to read through the section on Collections first.
Other Java Tutorials
If you encounter unfamiliar concepts in Java, these may provide helpful explanations and examples.