This textbook teaches the beginning programmers how to design and implement high-quality object-oriented software. New to the second edition is a chapter entitled 'Input and Output' (Ch. 7), which explains the class library used earlier in the text and explores other I/O issues such as streams, file I/O, and network-based I/O. Applets and applications are intertwined throughout the book to demonstrate computing concepts-applets, introduced in Ch. 2, build on the excitement of the web, while applications allow students to gain a clear understanding of programming concepts. It includes a CD-ROM with various development environments, the textbook example code, and the presentation slides from the book. The typeface for of some of the code has been redesigned to make it more legible. Lastly, the update includes all corrections that have been discovered since the second edition's publication. The main content and flow of the update will remain as it is