Problem Solving with Java, Update, 2/E
032115486X

Elliot B. Koffman, Temple University
Ursula Wolz, The College of New Jersey

Publisher: Addison-Wesley
Copyright: 2002
Format: Paper Bound w/CD-ROM

ISBN-10: 032115486X
ISBN-13:9780321154866

Our Price: £57.99
This title is ordered on demand which may result in extended delivery times.

Big Savings with Valuepacks!


Description

Problem Solving with Java teaches the sound problem solving skills that beginning programmers must understand alongside the basics of object-oriented programming using Java. The book emphasizes the use of objects and classes from the beginning by providing the basics of OOP from the start, but delaying the complications of the AWT, Swing, and more theoretical concepts of OOP until later.

The authors' approach is to design a worker class or support class for each problem. The worker class has data fields for storing the problem inputs and it has methods that implement the algorithm needed to solve the problem. There is a separate application class that instantiates a worker object, passes data to this object, and then displays the results returned by the worker object. In this way, the student is introduced to the importance of object interaction and separation of concerns from the very beginning. The worker class knows how to solve the basic problem (units conversion, computation of area, etc.). The application class knows how to get the data from the user and display it. This approach better prepares students for the use of applets and GUIs. The worker class can be used without modification by an applet that performs the functions of the application class.


Table Of Contents


1. Introduction to Computers, Problem Solving, and Programming.

Overview of Computers.

Computer Components.

Computer Software.

Processing a High-Level Language Program.

The Software Development Method.

Professional Ethics for Computer Programming.



2. Using Primitive Data Types and Using Classes.

Primitive Data Types.

Processing Numeric Data.

Introduction to Methods.

The String Class.

Input/Output with Class JOptionPane and Method println().

Problem Solving in Action.

Anatomy of a Java Program.

Numerical Computations with Class Math.

Common Errors and Debugging.



3. Object-Oriented Design and Writing Worker Classes.

A First Worker Class: Class FoodItem.

A Worker Class that Manipulates String Objects.

A Worker Class that Processes Integers.

Review of Methods.

Simplifying a Solution Using Multiple Classes.

Formatting Output and Class KeyIn (Optional).

Applets, AWT, and the Graphics Class (Optional).

Common Programming Errors.



4. Control Structures: Decisions and Loops.

Control Structures.

boolean Expressions.

The if Statement.

Decision Steps in Algorithms.

Multiple-Alternative Decisions: Nested if and switch.

Counting Loops, while and for statements.

State-Controlled Loops.

Putting It All Together.

Debugging and Testing Programs with Decisions and Loops.

Common Programming Errors.



5. Arrays and Vectors.

Array Declarations.

Processing Arrays and Array Elements.

Operations on Whole Arrays.

Searching and Sorting an Array.

Arrays of Objects.

Multidimensional Arrays-Arrays of Arrays.

Vectors.

Wrapper Classes for Primitive Type Data.

Arrays and ArrayList Collection Classes (Optional).

Common Programming Errors.



6. Class Hierarchies, Inheritance, and Interfaces.

Class Hierarchies and Inheritance.

Operations in a Class Hierarchy.

Polymorphism.

Interfaces.

Abstract Classes.

Drawing Figures Using an Abstract Class and Interface.

Packages and Visibility (Optional).

Testing a Program System.

Common Programming Errors.



7. Graphical User Interfaces (GUIs).

AWT, Swing, and Browser-Applet Interaction.

Designing a First GUI.

The Java Event Model.

Using a GUI in an Application.

Components for Making Choices.

Designing a GUI for an Existing Class.

Listener Classes as Inner Classes.

Layout Managers.

Common Programming Errors.



8. Exceptions, Streams, and Files.

Exceptions.

Streams and Text Files.

Using Text Files.

A GUI for Processing the DVD Collection.

Binary Files.

Common Programming Errors.



9. Recursion.

Recursive Methods.

Recursive Mathematical Methods.

Use of the Stack in Recursion.

Recursive Methods with Arrays, Vectors, and Strings.

Binary Search.

Solving Towers of Hanoi with Recursion.

A Recursive Program with a GUI.

Common Programming Errors.



10. Linked Data Structures.

Linked Lists.

Stacks.

Queues.

Binary Trees.

A Binary Search Tree Class.

LinkedList Collection Class and List Iterators (Optional).

Common Programming Errors.



Appendix A. Java Resources, Package psJava, Jbuilder, and HTML Resources.


Appendix B. Java Language Summary.


Appendix C. Packages java.lang and java.util.


Appendix D. Package java.io.


Appendix E. Package java.awt.


Appendix F. Package javax.swing.


Answers to Odd Self-Check Exercises.


Index.

Features
  • NEW! Covers basic control structures in one chapter (Chapter 4).
  • NEW! Provides a flexible coverage of GUIs, allowing students to learn to write GUIs from the start, or hold off on this material until after students know arrays and vectors.
  • NEW! Revised and updated examples, exercises, and problems.
  • Contains the classic Koffman five-step problem-solving approach (state problem, analyze problem, design algorithm, implement, test/verify) to insure that students get a solid grounding in these fundamentals of programming.
  • Includes numerous full-length case studies to show actual implementation of the concepts in each chapter.
  • Contains interviews with famous computer scientists so students can get a glimpse into various fields and careers.

Appropriate Courses
CS1 in Java.

Student Supplements
Stand-alone Access Code Tutor Center
Addison-Wesley
© 2008 | Addison-Wesley | Access Code Card | This title is ordered on demand which may result in extended delivery times.
ISBN-10: 0201721708 | ISBN-13: 9780201721706
Our Price: £18.99

The Addison-Wesley Math Tutor Center is staffed by qualified college instructors who provide students with tutoring on examples and odd-numbered exercises from the textbook. Tutoring is available via toll-free telephone, toll-free fax, e-mail, and the Internet. Interactive, Web-based technology allows tutors and students to view and work through problems together in real time over the Internet. Instructors are available to answer students' questions during evening hours and on weekends. The Addison-Wesley Math Tutor Center is available to qualified adopters. For more information, please visit our Website at www.aw-bc.com/tutorcenter or call us at 1-888-777-0463.


CS Support-Student Support Material
Addison-Wesley
© 2008 | Addison-Wesley | On-line Supplement | Available
ISBN-10: 0321446852 | ISBN-13: 9780321446855
The "CS Support" Website is a central repository for additional supplemental items that students and general reader will find useful when working with this textbook. The material for each book varies, but may include such items as: Source Code files, Figures from the book, Answers to some review questions, etc.. To see what items are available for this textbook, visit http://www.aw.com/cssupport.

JavaPlace.net, 2/E
Addison-Wesley
© 2002 | Addison-Wesley | Website | Available
ISBN-10: 0201799758 | ISBN-13: 9780201799750

JavaPlace.net is a complete online resource for students learning to program with Java, and includes additional examples, quizzes, programming projects, and more!




Instructor Supplements
JavaPlace.net, 2/E
Addison-Wesley
© 2002 | Addison-Wesley | Website | Available
ISBN-10: 0201799758 | ISBN-13: 9780201799750

JavaPlace.net is a complete online resource for students learning to program with Java, and includes additional examples, quizzes, programming projects, and more!