|

My Instructor Resource Center :  Log in or request access

Ada 95: Problem Solving and Program Design, 3/E
Michael B. FeldmanGeorge Washington University
Elliot B. KoffmanTemple University

ISBN-10: 020136123X
ISBN-13:  9780201361230

Publisher:  Addison-Wesley
Copyright:  1997
Format:  Paper; 813 pp
Published:  03/16/1999
Status: Instock


Customers outside the U.S., click here.


Students with no prior programming experience will begin to program with this powerful language ideal for large-scale software system development, such as the Boeing 777. Ada 95 is the first object-oriented programming language to be internationally standardized. This allows the programs presented in the text to be completely portable to any validated Ada 95 compiler. While presenting a balanced mixture of modern programming concepts and Ada 95 language capabilities, this text provides a solid programming foundation.

  • The book emphasizes "object thinking" by introducing object-based and object-oriented programming concepts.
  • Control structures, data structures, and system (encapsulation) structures in parallel are introduced throughout the book.
  • It also presents encapsulating design from the beginning to stress the importance of reusability of functions, packages, and procedures, as well as about 200 complete, compilable, executable programs followed immediately by a sample output.



1. Introduction to Computers and Programming.

Electronic Computers Then and Now.

Hardware Components of a Computer.

Computer Software.

Problem Solving and Programming.

The Software Development Method.

CASE STUDY Changing a Flat Tire.

Programming Languages.

About Ada.

Processing a High-Level Language Program.

A Step-by-Step Compilation Exercise.

Tricks of the Trade: Common Programming Errors.



2. Introducing Algorithms: Adventures of the Spider.

Introducing the Spider.

Straight-Line Algorithms.

Algorithms with Single Loops.

Algorithms with Nested Loops.

Algorithms with Conditional Execution.

Putting It All Together: The Drunken Spider.



3. Introduction to Straight-Line Programs.

The General Structure of Ada Programs.

System Structures: Numerical Input and Output.

Data Structures: Declaring Constant and Variable Objects.

System Structures: General Form of an Ada Program.

Problem Solving: Software Development Illustrated.

CASE STUDY Converting Units of Measurement.

Control Structures: Assignment Statements.

Control Structures: Input/Output Statements.

Data Structures: Introduction to Data Types and Expressions.

CASE STUDY Finding the Value of a Coin Collection.

Tricks of the Trade: Common Programming Errors.



4. Problem Solving and Using Packages.

Data Structures: Introduction to Subtypes.

Problem Solving: Building Programs from Existing Information.

CASE STUDY Finding Area and Circumference of a Circle.

Problem Solving: Extending a Problem Solution.

CASE STUDY Unit Price of a Pizza.

Data Structures: Introducing Enumeration Types.

CASE STUDY Translating from English to French Color Names.

System Structures: The Importance of Packages.

System Structures: Using Ada's Calendar Package.

CASE STUDY Displaying Today's Date in "mm/dd/yyyy" Form.

CASE STUDY Displaying Today's Date in "MONTH dd, yyyy" Form.

System Structures: Using a Screen-Control Package.

Tricks of the Trade: Common Programming Errors.



5. Decision Statements; Writing Functions and Packages.

Control Structures: Boolean Expressions and the IF Statement.

CASE STUDY Given Today, Find Yesterday and Tomorrow.

Problem Solving: Decision Steps in Algorithms.

CASE STUDY Finding the Alphabetically First Letter.

Tricks of the Trade: Tracing a Program or Algorithm.

Problem Solving: Extending a Solution.

CASE STUDY Payroll Problem.

CASE STUDY Computing Overtime Pay.

Control Structures: The Multiple-Alternative IF Statement.

System Structures: Using Ada's Math Library.

System Structures: Writing Functions.

System Structures: Writing a Package.

CASE STUDY Finding the Largest and Smallest of Three Numbers.

Tricks of the Trade: Common Programming Errors.



6. Counting Loops; Subtypes.

Control Structures: Counting Loops and the FOR Statement.

CASE STUDY Sum of Integers.

Problem Solving: Generalizing a Solution.

CASE STUDY General Sum Problem.

CASE STUDY Minimum, Maximum, and Average of a List of Numbers.

Problem Solving: Using an External File for Input Data.

Problem Solving: Repeating a Program Body.

CASE STUDY Multiple-Employee Payroll Problem.

Control Structures: Nested Loops.

Data Structures' More on Subtypes.

Tricks of the Trade: Debugging and Regression Testing.

System Structures: Overloading and the Useful Functions Package.

System Structures: Introduction to Exception Handling.

Tricks of the Trade: Common Programming Errors.



7. Other Loop Forms; Procedures; Exception Handling.

Control Structures: The General LOOP and EXIT Statements.

CASE STUDY The Water Balloon Drop.

Problem Solving: Loop Design.

Control Structures: the WHILE Statement.

System Structures: Robust Exception Handling.

CASE STUDY Robust Menu-Driven Command Interpreter.

System Structures: Writing Procedures.

System Structures: A Package for Robust Input.

Tricks of the Trade: Testing with Exception Handling.

Tricks of the Trade: Programs That Never Halt.

Tricks of the Trade: Common Programming Errors.

Continuing Saga: A Child Package for the Spider.



8. Scalar Data Types; the CASE Statement.

Data Structures: Numeric Data Types.

System Structures: More on Ada.Numerics; the USE Clause.

CASE STUDY APPROXIMATING THE VALUE OF e.

System Structures: More on Ada.Numerics: Random Numbers.

Data Structures: The Boolean Type.

CASE STUDY Testing Whether a Number Is Prime.

Data Structures: The Character Type.

Control Structures: The CASE Statement.

Continuing Saga: Inside the Spider Package.

Tricks of the Trade: Common Programming Errors.



9. Composite Types: Records and Arrays.

Data Structures: Record Types.

Control Structures: Records as Subprogram Parameters.

System Structures: A Package for Calendar Dates.

Data Structures: Hierarchical Records.

Data Structures: Array Types.

Problem Solving: Selecting Array Elements for Processing.

Problem Solving: Using Arrays.

Problem Solving: Reading Part of an Array.

Data Structures: Interesting Array Examples.

Problem Solving: Searching and Sorting an Array.

CASE STUDY Sorting an Array of Records.

Tricks of the Trade: Common Programming Errors.



10. Strings and Files.

Data Structures: The String Data Type.

CASE STUDY Generating Cryptograms.

System Structures: Ada 95 Character and String Packages.

System Structures: A Systematic View of Text Files.

Problem Solving: Operating System Redirection of Standard Files.

CASE STUDY A Histogram-Plotting Program.

Problem Solving: Getting Input Values from a String.

Problem Solving: Reading Command Parameters.

CASE STUDY Lengths of LInes in a Text File.

Tricks of the Trade: Common Programming Errors.



11. Programming with Objects: Abstract Data Types.

System Structures: Abstract Data Types (ADTs).

System Structures: the ADT Package Ada.Calendar.

CASE STUDY World Times.

System Structures: Writing an ADT for Calendar Dates.

System Structures: Writing an ADT for Money Quantities.

System Structures: Using an ADT to Create a Mini-Data Base.

CASE STUDY Employee Inquiry System.

Continuing Saga: Writing an ADT for Multiple Spiders.

Tricks of the Trade: Common Programming Errors.



12. Introduction to Unconstrained Array Types and Generics.

Data Structures: Unconstrained Array Types.

Problem Solving: a General Sorting Program.

CASE STUDY Software Support "HotLine".

System Structures: Generic Units.

Problem Solving: A Generic Sorting Program.

System Structures: a Generic Sets Package.

Tricks of the Trade: Common Programming Errors.



13. Multidimensional Arrays and Variant Records.

Data Structures: Multidimensional Arrays.

Problem Solving: Using Multidimensional Arrays.

Data Structures: Variant Records.

System Structures: Geometric Figures.

Continuing Saga: Keeping Track of Multiple Spiders.

Tricks of the Trade: Common Programming Errors.



14. Recursion.

Problem Solving: The Nature of Recursion.

Tricks of the Trade: Tracing a Recursive Function.

Problem Solving: Recursive Mathematical Functions.

Problem Solving: More Recursive Programs.

CASE STUDY Printing an Array Backward.

CASE STUDY Displaying an Array in Normal Order.

CASE STUDY Discovering Whether a String is a Palindrome.

Problem Solving: More Case Studies in Recursion.

CASE STUDY Towers of Hanoi.

CASE STUDY Picture Processing with Recursion.

Problem Solving: Recursive Searching.

CASE STUDY Recursive Binary Search.

Tricks of the Trade: Debugging Recursive Subprograms.



15. Access Types and Dynamic Data Structures.

Data Structures: Access Types and the NEW Operator.

Data Structures: Linked Lists and Their Operations.

Data Structures: Linked Lists with Head and Tail Pointers.

Problem Solving: Ordered Insertions in Linked Lists.

System Structures: a Generic Version of the Linked List Package.

Problem Solving: Stacks and Queues.

CASE STUDY Checking for Balanced Parentheses.

Tricks of the Trade: Debugging Programs with Linked Lists.



16. Programming with Objects: Tagged Record Types.

System Structures: Object-Oriented Programming.

System Structures: Tagged Types.

Data Structures: General Access Types.

System Structures: Class-Wide Types.

System Structures: Dynamic Dispatching.

Heterogeneous Linked Lists.



17. Introduction to Concurrent Programming.

Problem Solving: What is Concurrent Programming?

System Structures: Task Types and Task Objects.

System Structures: Protected Types and Protected Objects.

Continuing Saga: Multiple Concurrent Spiders.



Appendix A: High-Resolution Color Graphics.

AdaGraph: a Basic High-Resolution Graphics Package.

Using AdaGraph Operations.

A High-Resolution Color Spider Package.

Using the High-Resolution Spider Package.



Appendix B: The Ada Character Set, Delimiters, and Reserved Words.

The Ada Character Set.

Delimiters.

Reserved Words.



Appendix C: Ada's Predefined Environment: Package Standard.


Appendix D: Specification of the Package Ada.Text_IO.


Appendix E: Specifications of the Ada Math Libraries.


Appendix F: Summary of Ada Execution-Time Exceptions.

Exceptions Defined in the Language.

Exception Defined in Ada.Calendar.

Exception Defined in Ada.Numerics.

Exceptions Defined in Ada.Text_IO.

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.

Elliot Koffman is a professor of computer and information science at Temple University. He is one of the country's foremost CS educators, a former chairman of the ACM Task Force for introductory programming methods courses, and author of a number of successful language texts in Modula-2, FORTRAN, in addition to his four editions of Pascal and Turbo Pascal.



020136123XAB04062001

Now Available!

In this third edition, educators Michael Feldman and Elliot Koffman continue to refine and enhance their balanced presentation of modern programming concepts and Ada 95 language capabilities. Students with no prior programming experience will begin to program with this interesting and powerful, yet flexible language that is used in the Boeing 777 and Airbus 340, the International Space Station, the European high-speed rail system, and many other major projects around the world.

This text includes a CD-ROM containing versions of the GNU Ada 95 compiler (GNAT), other program development tools, and high-resolution graphics support for the Windows, DOS, Macintosh, and Linux operating systems. GNAT supports the full Ada 95 language as standardized by the ISO and the ANSI.

Features
  • Provides an optional second chapter that uses "spider graphics" to swiftly introduce students to algorithmic control structures
  • Introduces control structures, data structures, and system (encapsulation) structures in parallel throughout the book
  • Uses proven pedagogical features to encourage strong programming skills. These include case studies, self-check exercises, programming style displays, syntax displays, and common-error discussions in every chapter


020136123XB04062001

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

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, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.

Package ISBN-10: 0135054494 | ISBN-13: 9780135054499
©2009 | Instock (Additional assembly time required)
Suggested retail price: $195.53  Buy from myPearsonStore

This package contains:

Feldman & Koffman | ©1997 | Addison-Wesley | Paper; 813 pp
Brookshear | ©2009 | Addison-Wesley | Paper; 688 pp