25 Women to Read Before You Die

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Original Essays | August 18, 2015

    Rinker Buck: IMG Just Passing Through: Embracing the Covered Wagon Mind-Set

    When people learn that I recently spent a long summer riding 2,000 miles across the Oregon Trail in a covered wagon pulled by mules, they invariably... Continue »
    1. $19.60 Sale Hardcover add to wish list


This item may be
out of stock.

Click on the button below to search for this title in other formats.

Check for Availability
Add to Wishlist

Software Construction and Data Structures with ADA 95

Software Construction and Data Structures with ADA 95 Cover


Synopses & Reviews

Publisher Comments:

Ideal for large-scale software system development, Ada 95 is the first fully object-oriented language to be internationally standardized by the ISO and the ANSI. Michael B. Feldman's Software Construction and Data Structures with Ada 95 introduces data structures concepts and their applications using this powerful, yet flexible language. Through the use of generic abstract data type (ADT) packages, this text gives a realistic view of system development using reusable components. With an informal writing style, Michael B.Feldman leads students from subject to subject finding effective, maintainable, and portable solutions to programming problems.

  • Covers Ada 95 object-oriented programming concepts.
  • Introduces algorithm performance evaluation and "big O" notation in Chapter 3 and expands on the concepts throughout the book.
  • Uses real-world applications in each chapter for students to put data structures and ADTs into practice.
  • Provides over 200 executable programs and packages that are portable to any Ada 95 compiler on any computer.

About the Author

Dr. Michael Feldman is a professor of computer science at The George Washington University, as well as Chair of the Education Working Group of the ACM Special Interest Group on Ada (SIGAda). He has over fifteen years experience teaching Ada in introductory courses, and is the author of two other books, Software Construction and Data Structures with Ada 95 and Data Structures with Modula-2. Dr. Feldman manages the popular Internet site, Ada Programming Language Resources for Educators and Students - http://www.acm.org/sigada/education.

Table of Contents

(Each chapter concludes with "Exercises".)

1. Abstraction and the Ada Type System.

Your Ada Starting Points.

Some Ada 95 Changes.

The Life Cycle of Software Development.

The Goals of Software Engineering.

Using Abstraction to Manage Complexity.

A Quick Tour of the Ada Type System.

A Set of Numeric Types for This Book.

Abstract Data Types (ADTs).

Object-Oriented Programming.

A Predefined ADT: the Ada.Calendar Package.

Application: Time Around the World.

A Predefined ADT: Strings in Ada.


2. Writing Abstract Data Types.

ADT Design: Rational Numbers.

Developing a Test Plan.

ADT Design: an ADT for Dollars and Cents.

ADT Design: Calendar Dates.

ADT Design: Simple Screen Handler.

ADT Design: Simple Window Manager.

A Few More Ada 95 Topics.


3. Algorithms, Recursion, Performance Prediction, and Performance Measurement.

Algorithms and Algorithm Design.

Recursive Algorithms.

Performance Prediction and the "Big O" Notation.

Design: An ADT for Keyed Tables.

Application: A Simple Employee Database.

Measuring Program Performance.


4. Multidimensional and Unconstrained Array Types.

Data Structures: Multidimensional Arrays.

Data Structures: Unconstrained Array Types.

Application: A General Sorting Program.

ADT Design: Mathematical Vectors.

ADT Design: Mathematical Matrices.

Storage Mappings.


5. Generic Subprograms and Packages.

Ada Structures: Generic Units.

Application: A Generic Sorting Program.

Application: a Generic Binary Search Program.

ADT Design: An Abstract Data Type for Sets.

Application: Music Makers.

ADT Design: A Generic Vector Package.

Summary of Generic Specifications.

ADT Design: Generic Keyed Table Handler.

ADT Design: A Generic Backup Package.

Application: Airline Passenger List.

ADT Design: ADTs versus Abstract Data Objects.


6. Variant and Tagged Record Types.

Ada Structures: Variant Records.

ADT Design: Geometric Figures.

ADT Design: Metric System.

ADT Design: Variable-Length Strings.

Ada Structures: Strings in Ada 95.

Ada Structures: Tagged Types.


7. Queues and Stacks.

Queues and Stacks Introduced.

ADT Design: FIFO Queues.

ADT Design: Priority Queues.

ADT Design: Stacks.

Expression Evaluation and Polish Notation.

Application: An Infix-to-RPN Translator Program.

Application: An Event-Driven Simulation.


8. Access Types and Dynamic Data Structures.

Ada Structures: Access Types and the NEW Operator.

Data Structures: Singly Linked Lists.

Recursive Implementations of Linked-List Operations.

Iterative Implementation of Linked-List Operations.

Linked Lists with Head and Tail Pointers.

Ordered Insertions in Linked Lists.

Debugging Programs with Linked Lists.


9. Linked List Applications.

ADT Design: A Generic ADT for Singly-Linked Lists.

Allocation Using a List of Available Space (LAVS).

ADT Design: Unbounded Queues and Stacks.

ADT Design: The Keyed Table as a Linked List.

Application: The Airline Passenger List Again.

ADT Design: Passive and Active Iterators.

ADT Design: Unbounded Variable-Length Strings.

Application: Sparse Vectors and Matrices.

Simulating Dynamic Memory Management.

Ada Structures: Ada 95 Unbounded Strings.

Ada Structures: Ada 95 General Access Types.

Heterogeneous Structures and Dynamic Dispatching.


10. Directed Graphs.

Undirected and Directed Graphs.

Properties of Digraphs.

Implementations of Directed Graphs.

Graph Traversals.

A Generic ADT for Directed Graphs.

Application: A Simple Lexical Scanner.


11. Binary Trees.


Properties of Binary Trees.

Implementing Binary Trees.

Traversals of Binary Trees.

Expression Trees.

Application: Building an Expression Tree.

Binary Search Trees (BSTs).

ADT Design: The Keyed Table as a BST.

Application: A Cross-Reference Generator.

Subprogram Pointers and Table-Driven Programming.


12. Advanced Tree Concepts.

Threaded Binary Search Trees.


Application: The Priority Queue as a Heap.

Digital Search Trees.

AVL Balanced Binary Search Trees.



13. Hash Table Methods.

Sequential and Binary Search Revisited.

The Hash Table.

Choosing a Hash Function.

Resolving Collisions in Hash Tables.

Hybrid Search Strategies.


14. Internal Sorting Methods.


O(N2) Sorts: Simple Selection Sort.

O(N2) Sorts: Delayed Selection Sort.

O(N2) Sorts: Bubble Sort.

O(N2) Sorts: Linear Insertion Sort.

O(N log N) Sorts: Merge Sort.

O(N log N) Sorts: Heap Sort.

O(N log N) Sorts: Quick Sort.

Other Sorts: Shell Sort.

Other Sorts: Quadratic Selection Sort.

Other Sorts: Radix Sort.


15. Introduction to Concurrent Programming.

What Is Concurrent Programming?

Ada Structures: Task Types and Task Objects.

Ada Structures: Protected Types and Protected Objects.

Data Structures: The Task as a Data Structure.

Application: Simulation of a Bank.

Application: The Dining Philosophers.

Chapter Review.



A. The Ada Character Set, Delimiters, and Reserved Words.

B. Ada 95 Syntax Rules.

C. The Ada Predefined Language Environment.

D. Specification of the Package Ada.Text_IO.

E. Specification of the Package Ada.Calendar.

F. Specification of the Ada Math Libraries.

G. Specification of the Ada String Libraries Used in this Book.

H. Summary of Ada Execution-Time Exceptions.

I. Ada Hints for Pascal Users.

J. Timing Algorithm Performance on a Shared Computer.

Product Details

Feldman, Michael B.
Reading, Mass. :
Programming Languages - General
Data structures (computer science)
Programming - Software Development
Programming Languages - Ada
Ada (computer program language)
Software Development & Engineering - General
Computer Languages-Ada
Edition Number:
Edition Description:
Trade paper
Series Volume:
no. 315
Publication Date:
June 1996
Grade Level:
College/higher education:
9.16x7.36x1.05 in. 2.07 lbs.

Related Subjects

Computers and Internet » Computer Languages » Ada
Computers and Internet » Software Engineering » General

Software Construction and Data Structures with ADA 95
0 stars - 0 reviews
$ In Stock
Product details 648 pages Addison Wesley Publishing Company - English 9780201887952 Reviews:
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.