Design variations and data abstraction
The problem (review)
Example
How do we approach such a problem?
Understanding the problem
What we know already
What we don't know
Sample questions with unknown answers
Two possible viewpoints
Two approaches to design
Problems should reflect purposes
When in doubt, start with simple definitions
Simple definitions for this exercise
Defining the problem
Sketching the solution (find the bugs!)
What bugs are there?
A bug that might not be there
Where did the bugs come from?
What can we do differently?
OK, what do we want?
With these notions, we can rewrite...
Where are we now?
Abstract data types
Typical support for data abstraction
Terminology
Homework (due Monday)
Email: ark@research.att.com
Home Page: http://www.research.att.com/info/ark