Pile of book lot Photo by NeONBRAND on Unsplash.

Textbooks

There is only one required textbook for this course. However, other readings will be taken from other books as necessary and available freely online or through AU online resources. The listed books and online resources on this page are subject to frequent change and updates throughout the semester.


Title: Introduction to Java Programming and Data Structures, Comprehensive 12th Ed.
Author: Y. Daniel Liang
Link: Pearson, Amazon
Note: In this course, we do not use the Pearson MyLab Programming Software. There are many editions of the required text that include this software in the price. Wherever you get the text, make sure that you are not paying extra for things that you will not use.
New for this course is the option to buy a loose-leaf version of the textbook at a reduced price.
If you go this route, you will need to obtain a fairly large binder in which to store the pages of this hefty tome. Also, ensure that you are purchasing the comprehensive edition.
Previous editions may be used, though there are differences in the language over time that may trip you up. Whatever numbered edition you obtain for this course, ensure that you are using the Comprehensive Edition. |

What Java do I get?

This is a good question. Java is an active and evolving language - new versions are released frequently. This course uses the most recent open-source version of the Java Development Kit (OpenJDK). Commercial builds of the JDK can alternatively be obtained from Oracle, under a non-open-source license, but we will not use them. You will want to download the version specific to your operating system from https://jdk.java.net/16/. Why are there both open-source AND non-open source versions of Java? It’s complicated.

Other Resources

Additional links to supplementary articles and videos used throughout this course will be posted throughout the semester.

  • Useful for creating your own hobby projects or following along with in-class demonstrations: Create your first Java application in IntelliJ IDEA
  • Useful for obtaining the assignments: Clone a project from Github
  • Necessary for later in the semester: Create a new JavaFX project
  • Self-guided tutorials to help you with specific features of the Java language. Really useful supplemental for the textbook and in-class lectures when you need another point of view focused on the language specifics: The Java™ Tutorials. Caveat from the tutorials page: “The Java Tutorials have been written for JDK 8. Examples and practices described in this page don’t take advantage of improvements introduced in later releases and might use technology no longer available.”