Skip to content

Setup and Resources

Zybook

We use an enhanced online textbook called a zyBook that is (a) cheaper than a traditional textbook, (b) has more concise text, and (c) includes interactive examples, demos, and participation activities to check your understanding. A subscription is $58 and provides immediate access. Subscriptions will last until Dec 30, 2022. To purchase, follow the steps below.

1. Sign in or create an account at learn.zybooks.com
2. Enter zyBook code: DUKECOMPSCI201FainFall2022
3. Subscribe

Alternative References

The Java API documentation should be your primary reference for core Java packages such as util. Search here for information about, for example, the methods available to ArrayList, LinkedList, HashSet, HashMap, etc.

For a *free* online reference and learning supplement on the Java programming language, we recommend the Learning the Java Language Trail of the Java Tutorials.

Some of you might prefer a more traditional physical textbook that you can keep and use as a reference. This is not required, and we will not directly follow this book, but for those interested we recommend Algorithms by Sedgewick and Wayne as an excellent reference text.

Installation, Visual Studio Code, and Git

We will use Java, and specifically Open JDK 17 (the most recent JDK with long term support), for programs in this class. We will develop programs using Visual Studio Code (plus some extensions), and we will use Git for version control and submission. All of this software is free.

Follow detailed installation directions here to install and set up this software.

Some useful VS Code and Git documentation:

Many students are learning Java for the first time having first learned to program in Python. The course Zybook is fairly comprehensive about reviewing introductory programming in Java (some of that material is marked optional). However, you may also find it helpful to review / refer to this very brief primer on differences between the two languages. There are many longer and more elaborate such guides available on the web.

Duke Coursera

Duke Coursera is a partnership with the popular online learning platform Coursera whereby Duke students have free access to all of the online courses that have been created by Duke faculty. Duke CS & ECE Faculty (in collaboration with others) created Object Oriented Programming in Java. It is an excellent introduction to CS 101 and 201 content that is available to you for free. It consists of 4 courses. We especially recommend:

Old Midterm Exams and Solutions

You can find several year’s worth of midterm exams and solutions here to use to study.