The text uses a top-down approach to focus on problem decomposition and program design from the beginning. It is this methodology-along with its lucid and engaging exercises and analogies- that sets this book apart. Morelli introduces some of Javas advanced features including GUIs (e.g. AWT and Swing), exceptions, threads, files, and sockets. Because of this resources adaptable and accessible style, instructors can easily choose which advanced concepts to teach to introductory students while intermediate level programmers can also benefit from its thorough advanced feature coverage.
Offers an emphasis on design and problem solving through instruction and examples *Emphasizes OO design concepts such as inheritance and information hiding early on and presents them as an essential component of using an OO language *Features GUI elements and applets to captivate and maintain the readers interest while introducing them to real-world examples *Incorporates action learning tools such as "In the Laboratory" sections, "CyberPet" examples, and drop-in boxes on effective design, programming and debugging tips, and Java language rules *Covers advanced features of the Java: GUIs, graphics and drawing; exceptions; recursive problem solving; threads and concurrent programming; files, streams, and input/output techniques; sockets and networking; and data structures *Includes a Companion Website-with extensive supplementary resources such as a Study Guide, Power Point slides, Java code-and a CD-ROM that includes the Java code for all the examples in the text, and Java 2 SDK, Standard Edition, Borland JBuilder 3, University Edition, and NetBeans
Table of Contents:
Computers, Objects and Java *Java Program Development *Objects: Defining, Creating and Using *Methods: Communicating with Objects *Applets: Programming for the World Wide Web *Java Data and Operators *Control Structures *Strings and String Processing *Arrays and Array Processing *Graphical User Interfaces *Graphics and Drawing *Exceptions: When Things Go Wrong *Recursive Problem Solving *Threads and Concurrent Programming *Files, Streams and Input/Output Techniques *Sockets and Networking *Data Structures: Lists, Stacks, and Queues