| [Page xiii (continued)]|
What's New in the Third Edition?
The third edition has the following substantive changes:
Although the book retains its emphasis on a "running example" that is revisited in several chapters, the CyberPet examples have been replaced with a collection of games and puzzle examples. The CyberPet examples from earlier editions will be available on the Companion Web Site.
Chapters 0 (Computers, Objects, and Java) and 1 (Java Program Design and Development) have been substantially reorganized and rewritten. The new presentation is designed to reduce the pace with which new concepts are introduced. The treatment of object-oriented (OO) and UML concepts has also been simplified, and some of the more challenging OO topics, such as polymorphism, have been moved to a new Chapter 8.
The new Java 1.5 Scanner class is introduced in Chapter 2 and is used to perform simple input operations.
Chapter 4 (Input/Output: Designing the User Interface) has been completely rewritten. Rather than relying primarily on applet interfaces, as in the second edition, this new chapter provides independent introductions to both a command-line interface and a graphical user interface (GUI). Instructors can choose the type of interface that best suits their teaching style. The command-line interface is based on the BufferedReader class and is used throughout the rest of the text. The GUI is designed to work with either graphical applications or applets. Both approaches are carefully presented to highlight the fundamentals of user-interface design. The chapter concludes with an optional section that introduces file I/O using the new Scanner class.
Much of the discussion of inheritance and polymorphism, that was woven through the first five chapters in the second edition, has been integrated into a new Chapter 8.
An optional graphics track is woven throughout the text. Beginning with simple examples in Chapters 1 and 2, this track also includes some of the examples that were previously presented in Chapter 10 of the second edition.
Chapter 15, on Sockets and Networking, is expanded to cover some of the more advanced Java technologies that have emerged, including servlets and Java Server Pages.
Chapter 16, on Data Structures, has been refocused on how to use data structures. It makes greater use of Java's Collection Framework, including the LinkedList and Stack classes and the List interface. It has been expanded to cover some advanced data structures, such as sets, maps, and binary search trees.
CodeKey is integrated with chapter exercises! CodeKey is an online, interactive programming tutorial designed to reinforce key Java programming concepts and techniques. The CodeKey icon in the margin next to the exercise number identifies end-of-chapter exercises that include a CodeKey component. Using CodeKey, students can receive automated feedback on the code they write and instructors can easily manage code assignments and student progress. The online CodeKey exercises give students the ability to test their programs before handing in their class assignments. Instructors can easily track individual and class coding attempts and performance online at any time. CodeKey provides hints on how to improve code and how to debug it, if necessary. Students will be alerted to errors and will receive programming tips on how to fix them. CodeKey is just another way Morelli and Walde make programming exercises easy, fun, and manageable!