This course does not have a prescribed textbook.

If you prefer to use a text, we recommend that you consider the textbooks below (two of which are free), and the online resources, and decide which of these are the best match for your needs.

You do not have to purchase any book.

  • Thinking In Java, Bruce Eckel (4th Edition). This book is comprehensive and highly regarded.

  • Think Java, Allen B. Downey and Chris Mayfield (2nd Edition). A good intro to programming, and fairly well aligned with the early part of the course. It is freely available. (It is even open source!)

  • Thinking In Java, Bruce Eckel (3rd Edition). This edition is slightly outdated, covering only up to Java 2 (we’re using Java 17). One or two important concepts are not covered in this version, but it remains a good resource, and it is freely available.

  • Head First Java, Kathy Sierra and Bert Bates. This book is very popular and covers the material well, and does so in a very approachable style.

  • Effective Java, Joshua Bloch (3rd Edition). Many people consider this book to be absolutely outstanding, but it goes well beyond the material that we covere in this course, and it is not required. If you’re interested in doing more Java than what this course offers, this book is recommended.

bars search caret-down plus minus arrow-right times arrow-up