Why Start with design ?

If the purpose of this course is to teach object oriented programming, why start our discussion with a chapter on design?

The answer is that object-oriented programming involves object-oriented thinking, and object-oriented thinking begins with with object-oriented design.

Furthermore, many object-oriented techniques are difficult to motivate with small toy programs, but take on critical importance when you move on to consider larger software development efforts. By focusing on design we can discuss much larger software systems than we could consider at this point if we limited ourself simply to code.

It is difficult to explain the importance of some object-oriented techniques without an understanding of the problems they are designed to solve. Concentrating on design helps us understand some of the problems involved in programming in the large, without actually doing programming in the large.

[audio] [real] Text to accompany slide2, in Chapter 2 of An Introduction to Object-Oriented Programming