Third edition here.





John Wiley & Sons
ISBN: 0-471-71227-2
©2005

This book is an introductory text on programming using Java™. It is intended for first-year undergraduates in computer science, software engineering, or computer engineering. We assume no previous programming experience, and no more mathematics than elementary algebra.

The approach is object-oriented, sometimes called "objects first." While traditional introductory programming texts approach the subject in a syntax and example driven format, we stress design and the discipline needed for developing complex software systems. The emphasis throughout the book is on problem modeling using sound software engineering principles and concepts. It takes considerable experience, of course, to acquire real proficiency in the design and construction of software systems. We hope to develop a set of fundamental skills in constructing system components and to introduce a point of view regarding system design that will be as useful in the construction of large systems as it is in the building of small components.

The programming language used is Sun Microsystem's Java. However, this is not a text about Java. We are more concerned with the design and construction of software systems than with fluency in a particular programming language. Nevertheless as we assume our readers have no previous programming experience, we spend quite a bit of time covering Java syntax and semantics. In fact, we cover all but a few obscure features of the language. We informally adopt a notation based on the Unified Modeling Language (UML) for graphically denoting objects, object relationships, and system dynamics.

We use version 5.0 of the Java 2 SE. This version supports generic features useful in developing lists and other container classes. It also includes the class java.uitl.Scanner, which is handy for simple textual input.

Finally, the text includes optional interactive exercises to be done using the DrJava software development environment. DrJava is designed primarily for students and includes an easy to use facility for interactively evaluating Java code. It is freely available under an open source license from http://drjava.sourceforge.net/ and it is under active development by the JavaPLT group at Rice University. While these exercises are not intended as a substitute for a structured laboratory component, they will help students understand, through direct experience, the implications of the concepts discussed in the text. They should be particularly valuable to the reader who is not using the text in a class.

 Further information about the text

 Resources

 Java 1.5 edition

 First edition


Fred Hosch
Last modified: Sun Dec 2 21:03:55 CST 2007