Design variations and data abstraction

2/2/99


Click here to start


Table of Contents

Design variations and data abstraction

A problem

Example

How do we approach such a problem?

Understanding the problem

How long is a line?

How does input relate to output?

What we don't know

Sample questions with open answers

Two possible viewpoints

Two approaches to design

Problems should reflect purposes

When in doubt, start with simple definitions

Simple definitions for this example

Defining the problem

Sketching the solution
(find the bugs!)

What bugs are there?

Design bugs

Where did the bugs come from?

What can we do differently?

OK, what do we want?

We have squirmed away from the design bug

The not(tat)ion of objects

What is an object?

With these notions, we can rewrite...

Where are we now?

Abstract data types

Typical support for data abstraction

C++ terminology

Homework Mechanics

What to hand in

What is in a proposal

Project Description

Presentations

Author: Andrew Koenig

Email: ark@research.att.com

Home Page: http://www.research.att.com/info/ark