One of the goals of this course is to teach you to solve problems using an object-oriented approach. To do this we will use the language Java. This is not, however, a Java programming class; i.e., the focus will be on the CS concepts and applications, rather than on the language details. Lecture notes will summarize some of the key language details; for others, refer to the on-line documentation from Oracle (linked below), as well as to the summary at the start of the textbook. Because you know how to program already, I expect that these resources will be sufficient, but let me know if there are particular topics that have fallen through the cracks, or for which you find an excellent resource.

Java has recently been updated to version 7, though some of you (particularly Mac users) may have version 6 on your machine. We will try to make sure that everything works with either version. If you have a Mac, Java 6 is already installed; you may install Java 7 yourself. If you have a Windows machine, you may need to install Java. Make sure to get the JDK (Java Development Kit) and not just the runtime environment.

You must be consistent in your use of 32 bit or 64 bit versions of Java, Eclipse, and JavaCV. Relatively new machines should probably all be fine with 64 bit.

Official documentation:

Also official tutorials.


We are using the Eclipse environment for developing our Java programs. Installation and configuration instructions: