There is no required reading in this course, but these resources may be helpful to explore specific topics. Suggested starting points are marked with a

Development Tools


We will be using Git, a distributed version control system, for assignment submissions.

You are expected to setup your account on the UW Git installation, and “push” your assignments to a private repository on that server to submit them. As per assignment policies, you are not allowed to publically post your assignments online in any other location. Details are included in the assignments and course notes.

Here's a list of Git resources that might be useful.


Gradle is a replacement for GNU Make that handles large projects. In particular, it is the default build system for Android projects. You can type 'gradle build' on the command line, but typically build within an IDE.

Programming Languages


You will need to install the Java JDK SE (which includes the compiler, JRE and so on). Although owned by Oracle, Java is an Open Source project. We suggest installing the appropriate version from one of these sites:

Books & Documentation

Java FX



The main resource for Android developers is the Android Developer Site, which includes links to download Android Studio, design guides, documentation and sample code.

HCI Topics

History of Interaction Research