[first slide]

Introduction to Object Oriented Programming

Timothy A. Budd

Chapter 1

Thinking Object-Oriented

Outline

  1. Difficult Questions
  2. Why is OOP Popular?
  3. A New Paradigm
    1. Sapir - Whorf Hypothesis
    2. Example from Computer Languages
      1. A Better Solution
      2. What lead to the discovery?
    3. Church's Conjecture
    4. Imperative Programming
      1. Visulization of Imperative Programming
    5. Object-Oriented Programming
      1. Recursive Design
  4. Illustration of OOP Concepts -- Sending Flowers
    1. Elements of OOP - Objects
    2. Elements of OOP - Messages
      1. Information Hiding
    3. Elements of OOP - Receivers
      1. Different Actions
      2. Behavior and Interpretation
    4. Elements of OOP - Recursive Design
      1. Non-interference
    5. Elements of OOP - Classes
      1. Hierarchies of Categories
      2. Class Hierarchies
    6. Elements of OOP - Inheritance
    7. Elements of OOP - Overriding
  5. Computing as Simulation
    1. Metaphor and Problem Solving
    2. From Newseek
  6. Coping with Complexity
    1. Interconnections - the Bane of Complexity
    2. Assembly Languages
    3. Procedures and Functions
      1. The Problem of Stacks
      2. Block Scoping Didn't Solve the Problem
    4. Modules
      1. Parnas's Principles
    5. Abstract Data Types
    6. Objects - ADT's with Message Passing
  7. Summary

Other Material

Intro OOP, Chapter 1, Slide 1