Table of Contents

  1. Introduction
  2. The Interface
    1. Cohesion and Coupling
    2. Specific Public Interface
    3. ADTs in Program Design
    4. ADT Characteristics
  3. Pre-Conditions and Post-Conditions
    1. Using Pre- and Post-Conditions
    2. Example of Pre- and Post-Conditions
    3. Implementing Pre- and Post-Conditions
    4. Checking Pre and Post-Conditions
  4. Algorithms
    1. Describing Algorithms
    2. Refining the Algorithm
    3. The Main Loop
    4. Refining the Algorithm
    5. The Final Version
    6. Statements Required when Describing Algorithms
    7. Desk Checking
    8. Summary of Algorithms
    9. Algorithms Activity
    10. Answer to Algorithms Activity
  5. The Stack ADT Specification
    1. Linked Implementation
    2. Stack Operations
    3. CreateStack()
    4. Push(element)
    5. Adding an Element
    6. Adding an Element - Steps
    7. Pop(element)
    8. Correct Way to Remove a Node
    9. Removal Notes
    10. Destroy Stack()
    11. IsEmpty()
    12. The Size() Operation
    13. The Display Operation
    14. Stack Activity
    15. Answer to Stack Activity
  6. The Queue ADT
    1. Adding Nodes to a Queue
    2. Adding a Node to an Empty Queue
    3. Adding a Node at the End of a Queue
    4. The Remove Operation
    5. The Size() Operation
  7. The Linked List ADT
    1. Traversing Linear Structures
    2. Advancing Through a Structure
    3. Locating an Element
    4. Linked List Insertion
    5. Inserting at the Start of a Linked List
    6. Inserting in the Middle of a Linked List
    7. Inserting at the End of a Linked List
    8. Linked List Deletion
    9. Linked List Activity 1
    10. Answer to Linked List Activity 1
    11. Linked List Activity 2
    12. Answer to Linked List Activity 2
  8. Documenting the Design