Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000002571879 | QA76.758 K63 1994 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Emphasis is placed on data abstraction and abstract data types. The procedural approach is balanced with an object-oriented approach to data structures. Case studies, exercises, projects, and examples are used throughout. Programming examples are available through Internet, or can be ordered on disk. An on-line instructor's manual, solutions manual, and source code can be ordered by e-mail. Annotation c. by Book News, Inc., Portland, Or.
Author Notes
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.
0201156245AB04062001
Table of Contents
Introduction to Software Engineering |
The Software Challenge |
The Software Life Cycle |
Using Abstraction to Manage Complexity |
Abstract Data Types |
Case Study: Setting Up a Telephone Directory |
Abstract Data Types and Turbo Pascal Units |
Review of Steps for Using Abstract Data Types |
Program Documentation and Testing |
Procedure Documentation Including Pretests and Postests |
Techniques for Program Verification-Loop Invariants and Assertions |
Desk-checking and Program Walkthroughs |
Testing Strategies |
Top-Down Testing |
Bottom-Up |
Testing |
Mixed Approach |
Debugging Techniques |
Using the Turbo Pascal |
Debugger |
Built-in Data Structures-Arrays, Records, and Strings |
Review of Arrays One Dimensional Arrays |
Multidimensional Arrays |
Records and Arrays of Records |
Special Arrays |
String Abstract Data |
Type |
Sorting an Array Insertion, Selection, Bubble |
Searching an Array Linear, Binary Search |
Efficiency of Algorithms Big O |
Notation |
Recursion |
The Nature of Recursion |
Tracing a Recursive Procedure or Function |
Recursive Mathematical Functions |
Recursive Procedures with Array |
Parameters Quicksort Procedure |
Problem Solving with Recursion |
Recursive Functions with Array Parameters |
Picture Processing with Recursion |
Debugging Recursive Subprograms |
Stacks |
Stack Abstract Data Type |
Stack Applications |
Case Study: Displaying a String in Reverse Order |
Case Study: Checking for Balanced Parentheses |
Evaluating Expressions |
Case Study: Evaluating Postfix Expressions |
Implementing ADT Stack |
Advanced Applications of Stacks Case Study: Converting Infix to Postfix |
Case Study: Removing Recursion |
Queues |
Queue Abstract Data Type |
Queue Application |
Case Study: Maintaining a Queue of Passengers |
Implementing ADT Queue |
Advanced Application of Queues |
Case Study: Using a Queue in a Simulation Problem |
Dynamic Data Structures |
Pointers and the New Statement |
The Pascal Heap |
Linked Lists |
Implementing ADT Stack Using Linked Lists |
Implementing ADT Queue |
Using Linked Lists |
Advanced Applications of Linked Lists |
Case Study: An Ordered List ADT |
Trees and Graphs |
Multiple-linked Lists and Binary Trees |
Tree Traversal |
Binary Search |
Tree Abstract Data Type |
Binary Search Tree Application Implementing |
ADT Binary Search Tree |
General Trees |
Graphs |
More Sorting and Searching |
Shell Sort |
Heapsort |
Hash Tables and Hashing AVL Trees |
Introduction to Object Oriented Programming |
Objects and Methods |
Objects Versus Abstract Data Types |
Polymorphism and Overloading |
Inheritance |