The publisher distributes the textbook for free at https://greenteapress.com/wp/think-java-2e/.
The Java Tutorials cover many practical aspects of the language.
The Java Platform, Standard Edition 8 API Specification defines the interfaces present in the version of Java used in CS120. This is the best documentation of how to use the standard classes present in Java.
The Java Language Specification: Java SE 8 Edition defines the version of Java used in CS120.
Aquinas is an interactive learning system that aims to teach computer programming and exploit development.