Objects First with Java: A Practical Introduction using BlueJ by David Barnes
BlueJ is a Java development environment that runs on top of the Sun Microsystems Java Development Kit making use of the standard compiler and virtual machine. It has been specifically designed for the introductory teaching of object-oriented programming, allowing the student to create objects of any class and interact with their methods. This truly 'objects first' approach within the customised BlueJ environment is expected to revolutionise the way programming is taught. For the first time, the traditionally difficult concepts of objects and classes are bought alive in an easily manipulable visual form.