Textbooks

There is one required textbook for the course (available in the UCSD bookstore, online, etc.):

Lecture Notes

Lecture notes will be available online.

Other Resources

Many resources for Java programmers exist on the web; we list only a few here. Sun has extensive online Java tutorials and documentation. For example, it is very useful to learn to use the "javadoc"-generated documentation of the Java 6 standard library packages. And Java Practices has a nice summary of how and why to use javadoc with your own code.

If you want to download JDK 5.0 for your own machine, go here for Linux, Win32 and Solaris versions, and here for links to other ports.

Version Control

When working in a team, it can easily be worth your time to consider using a source code management system such as CVS or Subversion. We have a brief CVS tutorial and a SVN tutorial online.

Make

At least consider using make to automate some aspects of software development! Here is a quick tutorial on using make for Java development .