Java Links
The latest version of the Java language is Java 8, but any version above Java 5 should be OK for Java Programming Homework.
Unfortunately, the latest version of Eclipse needs at least Java 7.

* Java tutorials : an accessible online reference that should cover most of what we need.

* Java Supplements: downloadable supplements from Liang's book.

* Java 8 API's : it is official and comprehensive, but overwhelming and unwieldy!

* My collection of Java FAQs : it is tuned to what my students need!
Eclipse Links
Eclipse is an integrated development environment (IDE) that we will use for developing Java programs:
It has many features and can be overwhelming, so there are many tutorials available on the web.

* Video for your first eclipse project, or a downloadable supplement: both from Liang's book

* Eclipse help and Eclipse FAQs: courtesy of the Eclipse organization

* [30 Eclipse shortcuts] or [93 Eclipse shortcuts] : learn a few tricks!
Note: "control+" in Windows is "command+" in Mac !!

* My collection of Eclipse FAQs : informal collection of tips

MAKE program
Besides Java, you will learn a basic software tool to organize and test your programs.
This tool is called make (or variants such as gmake).
By default, this tool runs a program which you create with default name Makefile. I have a simple introduction here:

     * Tutorial and Notes on Make Program

In my classes, when you submit a program, I normally require you to include a README file plus a Makefile.
Here is a sample Makefile which you can use and modify:

     * sample Makefile

When you save this file, your browser may add the ".txt" extension to this file. Just rename it as "Makefile" without any extension. If you use an editor to edit this file some editors may also save it as "Makefile.txt". Again, rename it to plain "Makefile".

Here is another more sophisticated Makefile to use and to modify:

     * sample Makefile based on src/bin directory structure

Cygwin for Windows World
If you are in the Windows World, we strongly recommend installing cygwin, a free unix-like operating system.
Through cygwin, you can obtain make and all the standard unix tools. I provide a basic introduction here:

     * Cygwin FAQs

     * Cygwin Links and Introduction

It is easy to install (or uninstall), and does not require dual boot (so you can have both cygwin and Windows running at the same time).
MacOS Issues
Apple has a bad habit of not supporting non-Mac software. So if you have special problems on this score, we will try to help.