This textbook introduces the principles of object-oriented programming and writing good software, with optional sections on event processing and graphical user interfaces. Topics include class design, arrays, inheritance, exceptions, and recursion. The CD-ROM contains source code and the Java 2 platform, standard edition version 1.4. The third edition incorporates the unified modeling language and Java 2 version 1.4.