Always Learning

Data Abstraction and Problem Solving with Java, 2/E
Frank CarranoUniversity of Rhode Island
Janet PrichardBryant College

ISBN-10: 0321304284
ISBN-13:  9780321304285

Publisher:  Prentice Hall
Copyright:  2006
Format:  Cloth; 912 pp
Published:  10/19/2005


Print this content

In this section:


Description

The second edition, in Java, of the classic Walls and Mirrors approach to programming designs solutions to problems using both data abstraction (the walls) and recursion (the Mirrors). Data Abstraction and Problem Solving with Java: Walls and Mirrors, 2e provides a focus on the important concepts of data abstraction and data structures in a way that beginning students find accessible. The book has a student-friendly pedagogical approach, that carefully accounts for the strengths and weaknesses of the Java language. This second edition includes more material on the Java language and increased focus on object-oriented programming ideas.


Features

  • The Classic Walls & Mirrors approach which instills the use of both abstraction (the walls) and recursion(the mirrors) to design solutions to problems
  • Completely revised code to be compatible with Java 5.0,   including coverage of generic types
  • Early(chapter 1) and expanded review of the java language
  • Concentrates on the core data abstraction and data structure topics
  • Contains examples that illustrate the role of classes and ADTs in the problem-solving process
  • Includes carefully designed, student-friendly pedagogy, including margin notes, key concept boxes, error and misconception warnings, and self-test exercises with answers


New To This Edition

  • Completely revised code to be compatible with Java 5.0, including coverage of generic types

 

  • Earlier introduction (chapter 1) and extended review of Java

 

  • All the pseudocode in the text uses UML notation

 

  • Generics and iterators added; starting in chapter 9 then used in  following chapter

 

  • The Java Collecitons Framework(JCF) added in discussion of Lists, Stacks, Queues, Hash tables and Priority Queues

 

  • Updated presentation of sorting and searching algorithms as found in the JCF


Table of Contents

PART ONE - Problem-Solving Techniques

1 Review of Java Fundamentals

1.1 Program Structure

1.2 Language Basics

1.3 Selection Statements

1.4 Iteration Statements

1.5 Useful Java Classes

1.6 Java Exceptions

1.7 Text Input and Output

1.8 File Input and Output

 

2 Principles of Programming and Software Engineering

2.1 Problem Solving and Software Engineering

2.2 Achieving an Object-Oriented Design

2.3 A Summary of Key Issues in Programming

 

3 Recursion: The Mirrors

3.1 Recursive Solutions

3.2 Counting Things

3.3 Searching an Array

3.4 Organizing Data

3.5 Recursion and Efficiency

 

4 Data Abstraction: The Walls

4.1 Abstract Data Types

4.2 Specifying ADTs

4.3 Implementing ADTs

 

5 Linked Lists

5.1 Preliminaries

5.2 Programming with Linked Lists

5.3 Variations of the Linked List

5.4 Application: Maintaining an Inventory

5.5 The Java Collections Framework

 

PART TWO - Problem Solving with Abstract Data Types

6 Recursion as a Problem-Solving Technique

6.1 Backtracking

6.2 Defining Languages

6.3 The Relationship Between Recursion and Mathematical Induction

 

7 Stacks

7.1 The Abstract Data Type Stack

7.2 Simple Applications of the ADT Stack

7.3 Implementations of the ADT Stack

7.4 Application: Algebraic Expressions

7.5 Application: A Search Problem

7.6 The Relationship Between Stacks and Recursion

 

8 Queues

8.1 The Abstract Data Type Queue

8.2 Simple Applications of the ADT Queue

8.3 Implementations of the ADT Queue

8.4 A Summary of Position-Oriented ADTs

8.5 Application: Simulation

 

9 Advanced Java Topics

9.1 Inheritance Revisited

9.2 Dynamic Binding and Abstract Classes

9.3 The ADTs List and Sorted List Revisited

9.4 Java Generics

9.5 Iterators

 

10 Algorithm Efficiency and Sorting

10.1 Measuring the Efficiency of Algorithms

10.2 Sorting Algorithms and Their EfficiencySelection Sort

 

11 Trees

11.1 Terminology

11.2 The ADT Binary Tree

11.3 The ADT Binary Search Tree

11.4 General Trees

 

12 Tables and Priority Queues

12.1 The ADT Table

12.2 The ADT Priority Queue: A Variation of the ADT Table

12.3 Tables and Priority Queues in the JCF

 

13 Advanced Implementations of Tables

13.1 Balanced Search Trees

13.2 Hashing

13.3 Data with Multiple Organizations

 

14 Graphs

14.1 Terminology

14.2 Graphs as ADTs

14.3 Graph Traversals

14.4 Applications of Graphs

 

15 External Methods

15.1 A Look at External Storage

15.2 Sorting Data in an External File

15.3 External Tables

 

APPENDICES

A A Comparison of Java to C++

B Unicode Character Codes (ASCII Subset)

C Java Resources

D Mathematical Induction 828

 

Glossary

Answers to Self-Test Exercises

Index


Next Edition(s)

  • Data Abstraction and Problem Solving with Java: Walls and Mirrors, 3/E
    Prichard & Carrano
    ©2011  |  Prentice Hall  |  Paper; 912 pp  |  Instock
    ISBN-10: 0132122308  |  ISBN-13: 9780132122306
    Brief Description  |  More Info



Back to top

Print this content

In this section:


Backcover Copy

Data Structures/Java

 

Data Abstraction and Problem Solving with Java, 2/E

Frank M. Carrano, University of Rhode Island

Janet Prichard, Bryant University

ISBN: 0321304284

 

 

The Second Edition of Data Abstraction and Problem Solving with Java: Walls and Mirrors, presents fundamental problem-solving and object-oriented programming skills by focusing on data abstraction (the Walls) and recursion (the Mirrors).  It is fully revised to use the latest version of the Java programming language (Java 5.0). Java 5.0 is particularly well suited for presenting object-oriented programming, and helps enhances this edition’s increased focus on object-oriented programming and data abstraction. Clear, accessible writing is complimented by a pedagogically rich presentation throughout this textbook.

 

 

The Second Edition includes:

  • Early and expanded attention to learning the Java language
  • Fully updated Java code and UML notation used for all psuedocode
  • Coverage of advances in Java 5.0 such as generic types, iterators, and the Java Collections Framework
  • Examples that illustrate the role of classes and ADTs in the problem-solving process

 

“This book stands out as one of the best data structures books I have ever seen. It offers fine coverage of data structures and problem-solving techniques, and presents material in an elegant way that students can easily understand.”

Eric Jiang, University of San Diego

 

 

"Data Abstraction and Problem Solving with Java: Walls and Mirrors is an effective tool for introducing students to systematic solution design and lucid programming style. Walls and Mirrors makes teaching simpler and learning easier through its clear explanation of concepts, elaborate illustrative examples, and wide-ranging selection of problems."

Sandip Sen, The University of Tulsa

 

 

“The strength of Data Abstraction and Problem Solving with Java: Walls and Mirrors lies in its systematic approach to developing problem solving and programming skills.  It provides clear, effective coverage of the fundamentals of software development.” 

Chakib Chraibi, Barry University

Back to top

Print this content

In this section:

Online Instructor's Manual with Solutions, 2/E
Carrano & Prichard
©2006  |  Prentice Hall  |  Electronic Supplement  |  Available
ISBN-10: 0321390148  |  ISBN-13: 9780321390141

Show Downloadable Files
 | More Info

Online Power Points, 2/E
Carrano & Prichard
©2006  |  Prentice Hall  |  Electronic Supplement  |  Available
ISBN-10: 0321395077  |  ISBN-13: 9780321395078

Show Downloadable Files
 | More Info

Online Source Code, 2/E
Carrano & Prichard
©2006  |  Prentice Hall  |  Electronic Supplement  |  Available
ISBN-10: 0321398610  |  ISBN-13: 9780321398611

Show Downloadable Files
 | More Info

Online Test Bank, 2/E
Carrano & Prichard
©2006  |  Prentice Hall  |  Electronic Supplement  |  Available
ISBN-10: 0321393104  |  ISBN-13: 9780321393104

Show Downloadable Files
 | More Info

Back to top


Websites and online courses

CS Support-Student Support Material
Addison-Wesley
©2008  |  Prentice Hall  |  On-line Supplement  |  Live
ISBN-10: 0321446852  |  ISBN-13: 9780321446855
More Info

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top