Textbooks and Recommended Readings for Data Structures

I have organized a number of free online resources for learning Java and Data Structures in the tables below. None of these textbooks are a perfect fit for the class, but I have drawn material from them and hope to provide my own readings from time to time.

Printed Resources

PDF versions of these may be available online, and physical copies are going to be available through the library. These are NOT required. Ask me more in person.

More Free Java Resources

If you are struggling with Java, it may be worthwhile for you to check out some of the following resources.

Think Java

  • Online, free, complete textbook
  • I like this book (free PDF), but they use arrays too much.

Oracle’s Java Tutorials

  • Online, free, official
  • This is one of the official resources for learning the Java Programming Language. It provides an organized view on these topics that have been reviewed by many professionals.

Introduction to Programming using Java (Eck)

  • Online, free, complete, textbook
  • This book has grown with Java and comes with a lot of starter code that we will not necessarily use, but it is an excellent resource nonetheless.

Java Programming Wikibook

  • Online, free, incomplete, textbook
  • A bit sparse and short in places, but fairly complete in the early sections for those looking for a Java resource.

Programming by Doing Exercises

  • Online, free, exercises
  • Mostly a collection of exercises which could give you ideas to become more comfortable with Java.

More Free Data Structures Resources

Open Data Structures

  • Online, free, complete, textbook
  • This textbook covers the data structures we will use in this course and a little more.

CS2 Software Design & Data Structures

  • Online free, complete, interactive textbook
  • Very cool resource from Virginia Tech that is an interactive data structures textbook with mini exercises.

Data Structures Wikibook

  • Incomplete, online, free
  • This “wikibook” is far less complete than the Java one in the previous table, however, there are some useful sections. Maybe we can contribute to this as the course goes on!

Data Structures Pages from Wikipedia (as a book)

  • A list of ALL the data structures pages on Wikipedia. This will be very overwhelming before we get through the first few weeks of class (and even for someone like me!).
  • We won’t discuss all of these but we will build a framework so that you can understand them all.