Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0137879466
ISBN-13: 9780137879465
Publisher: Prentice Hall
Copyright: 2001
Format: Paper; 1071 pp
Status: Out of Print
Suggested retail price: $109.00
This item is out of print and is no longer available for purchase.
For CS2/CS7 Data Structures courses. Also appropriate for first- and second-year Object Oriented Design courses where instructors also want to re-enforce data structures from an object-oriented perspective.
Using a unique parallel-coverage approach, this text 1) presents the fundamentals of data structures from arrays and lists to balanced trees, graphs, and files (including their design, use, implementation, and analysis); and 2) gives an introduction to object-oriented software engineering using UML (including the context diagram, use cases, sequence diagrams, architectural and detailed design, implementation, and testing). It can be used (a) to mostly present data structures with little software engineering, (b) to present both topics in parallel, or (c) to review data structures from an object-oriented perspective and then concentrate on software engineering at the first or second year level. The text uses Eiffel as the implementation language, an object-oriented language particularly well-suited to the clean presentation of data structures and software engineering concepts. Two case studies are included to illustrate the steps followed in an object-oriented development process for the analysis and design of non-trivial systems.
- Unique integration of data structures, library design, and software principles into one package —Designed to help students absorb software engineering material while working with concrete techniques and data structures. Presents data structures and software engineering concepts in parallel by intermixing individual chapters on data structures and software engineering. Begins with simple software engineering concepts, and repeatedly uses them to develop applications throughout the book.
-
By gradually introducing more and more software design concepts while building up a data structures library, the text allows students to obtain a surprisingly good background in the analysis and design of software systems. Ex.___
-
- As-needed coverage of selected concepts and techniques—e.g., the basics of the language Eiffel are presented in Ch. 2; subsequent chapters add various constructs—as they are needed for specific purposes. The same approach is used for timing analysis, and UML notation.
-
Avoids overwhelming students with a full treatment of a topic in a single chapter. Ex.___
-
- Two case studies—Illustrate the steps followed in an object-oriented development process for the analysis and design of non-trivial systems (a simple banking system and a student registration system). Explains the selection of the most appropriate data structure. The full implementations of the case studies are given in the Solutions Manual.
-
Shows students how to deal with problem modeling and design issues, and how to use library classes in solving larger problems. Ex.___
-
- Use of Eiffel as the implementation language—Uses only moderate amounts of code. An extensive reference for the Eiffel language is included in an appendix.
-
Eiffel's clean and simple syntax allows more advanced concepts, like exceptions, to be studied later without cluttering the simple concepts presented earlier. Ex.___
-
- A simplified methodology for system development—Uses a subset of the UML to present the results of analysis and modeling; makes extensive use of diagrams using the UML to portray key aspects of the system design and software relationships (e.g., inheritance, context, sequence, class, high-level architecture, and subsystem diagrams); and uses the methodology to develop significant applications that use the data structures being developed in parallel. Focuses on software design issues and patterns related to producing loosely-coupled, cohesive systems.
-
Presents basic software engineering concepts at an accessible level. Ex.___
-
- A judicious use of the UML graphical notation.
-
Gives visual representations of artifacts produced during the software development process (static and dynamic structure). Ex.___
-
- Standard data structures—Developed, analyzed, applied, and placed in an extensive data structures library (e.g., lists, stacks, queues, trees, balanced trees, graphs, and files)—all presented along with their ADT's, appropriate applications, implementations and time and space analyses. Most of these data structures have iterators for traversing the data structures, and the library also has a number of implementations of keyed and non-keyed dictionaries.
- Abstract Data Types—Presented from both the constructive and the axiomatic approaches using an object-oriented notation.
- Extensive coverage of timing analysis—Coverage of the basics in Chapter 4, and then in later chapters, the analysis of recursive algorithms (first by counting the number of calls, and still later by recurrence relations).
- A full chapter on software testing—Deals with traditional black-box and white-box test case generation techniques as well as testing techniques for object-oriented software. Includes a discussion on how to deal with ADT's and inheritance.
- Unique coverage of the modeling of the problem domain—To obtain a problem domain's static and dynamic structure. Models the static structure using types of relationships such as inheritance, aggregation and associations; models the dynamic structure with events, users (and actors), use cases, and object interaction diagrams. Omits the more advanced concepts of finite-state machines.
-
Allows students to tackle non-trivial object-oriented projects. Ex.___
-
- Software contracting with assertions—(Preconditions, postconditions, class invariants, loop invariants and loop variants) to deal with correctness and robustness.
- Review of basic mathematics—For handling summations, logarithms, and functions (in an appendix).
-
Provides a handy reference for those needing to get up to speed quickly. Ex.___
-
- An extensive collection of problems and projects (case studies)—At section-ends and chapter-ends. Exercises deal with programming, analysis and design, testing, timing/space analysis of algorithms, algorithms to manipulate various data structures, using mathematical induction to prove properties of certain data structures such as trees. Solutions are included in the Solutions Manual.
-
Offers an abundance of hands-on practice with basic concepts and challenging opportunities to apply them. Ex.___
-
- An accompanying CD—With all code for the text, the data structures library, an Eiffel compiler and associated environment.
-
Provides students/instructors with a convenient quick-access tool for hands-on applications of text material. Ex.___
-
1. State of Software Development.
2. Eiffel Basics.
3. Objects and Classes.
4. Arrays and Algorithm Analysis.
5. Abstract Data Types and Their Implementation.
6. Lists.
7. Dispensers: Stacks, Queues, and Priority Queues.
8. Object-Oriented Development: An Example.
9. Trees.
10. Elementary Problem Modeling and System Design.
11. Principles of Software Design.
12. Software Testing.
13. Bags, Sets, and Dictionaries.
14. Sorting.
15. Graphs.
16. Files.
A. Eiffel Appendix.
B. Math Primer.
Bibliography.
Index.
Eiffel Data Structures [AOD TITLES] (Computer Science)
Eiffel--Programming [AOD TITLES] (Computer Science)
Object-Oriented Design [AOD TITLES] (Computer Science)
Designed for advanced first- and second-year computer science students, or professionals interested in Eiffel; this text presents all the key data structures and software engineering concepts for use in CS-2 or CS-7 level courses. The authors provide a comprehensive and thorough introduction to data structures using state-of-the-art object-oriented analysis and design. Centered around the implementation language, Eiffel, this text offers the full-featured Object-Oriented language specifically designed for developing large Object-Oriented systems. This book offers a unique blend of abstract data types, software design, engineering, and object-oriented testing in a highly accessible presentation.
FEATURES
- Use of a subset of the UMLShows how to use UML for analysis and modeling.
- CD-ROM includedCD contains an Eiffel compiler and development environment, all the code for the text, and the data structures library.
- Modeling of the Problem DomainAbsent in other texts, this book models the problem domain that an object-oriented project must begin with.
- Two case studiesIllustrates the steps followed in an object-oriented development process for the analysis and design of non-trivial systems.
- Extensive Data Structures LibraryConsists of the standard data structures, including lists, stacks, queues, trees, balanced trees, graphs, and files.
- Extensive Reference for the Eiffel languageA full-featured object-oriented language, Eiffel, specifically developed for large object-oriented systems.
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 for pricing and ordering information.
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.

