# Examples of OO thinking and not OO thinking

Not OO thinking is not necessarily bad. However, an example below does serve a useful purpose - as an example from the real world.

#### Example (McKillip)

A variety of concrete materials are used to help children understand numbers larger than 10. The pictures of ones, tens, and hundreds commonly used in textbooks are not effective for numbers much larger than 200. Sets of loose counting objects cannot be used effectively in instruction for numbers much larger than 50. The time taken to count out sets simply consumes the instructional time available.

The last sentence is irrelevant to the purpose of teaching counting objects. It violates the principle of Abstraction. Since it attempts to justify the preceding statement, the latter also becomes suspect. Indeed, later on the same page we read

Counting objects, used extensively to teach small whole-number concepts, are also used to introduce grouping. Children count sets, grouping the objects in sets of ten. They can quickly learn that it is easier to count sets grouped by tens and then whatever loose ones may be left over than it is to count by ones. They can learn to associate the tens and the ones with the spoken and written forms of the numeral.

Which, in conflict with the first quote, appears to suggest a way to handle sets of loose items in quantities of more than 50. As Rumbaugh puts it, "Many problem statements, from individuals, companies, and government agencies, mix true requirements with design decisions."

Additionally, it appears that counting is rigidly associated with the decimal system, on one hand, and learning written forms of numerals, on the other. Neither is strictly necessary or necessarily true. I think a common abacus may serve to substantiate this claim. Recall that the Romans did not know the decimal system. Counting can be done with Notches. Notches can be grouped by 3s, 5s, not only by 10s. Positional systems arise naturally. The decimal system is only good provided grouping in 10s is easier than grouping in 5s. Which is not true.

 You look at where you're going and where you are and it never makes sense, but then you look back at where you've been and a pattern seems to emerge. And if you project forward from the pattern, then sometimes you can come up with something. R. M. Pirsig Zen and the Art of Motocycle Maintenance HarperPerennial, 2005

#### Example

The famous George Polya distinguishes four stages of problem solving:

1. Understanding the problem
2. Devising a plan
3. Carrying out the plan
4. Looking back

In order to understand a problem, Polya says, the teacher can seldom afford to miss the questions: What is the unknown? What are the data? What is the condition? In short, what are the attributes of the problem? What class does this problem belong to?

In devising a plan, ask: "Do you know a related problem?" Often this means "Do you know a problem of this class?"

With regard to the last stage, Polya says:

Even fairly good students, when they have obtained the solution of the problem and written down neatly the argument, shut their books and look for something else. Doing so, they miss an important and instructive phase of the work. By looking back at the completed solution, by reconsidering and reexamining the result and the path that led to it, they could consolidate their knowledge and develop their ability to solve problems. A good teacher should understand and impress on his students the view that no problem whatever is completely exhausted. There remains always something to do; with sufficient study and penetration, we could improve any solution, and, in any case, we can always improve our understanding of the solution.

Also important is to place the problem into the hierarchy of problem classes that were solved previously. It's important to maintain, or at least be aware of such a hierarchy.

On the last stage, when looking back, Polya suggests several questions: Can you check the result? Do you use all the data? Can you use the result, or the method, to solve some other problem? Writes he:

With a little encouragement, and after one or two examples, the students easily find applications which consist essentially in giving some concrete interpretation to the abstract mathematical elements of the problem. The teacher himself used such a concrete interpretation as he took the room in which the discussion takes place for the parallelepiped of the problem. A dull student may propose, as application, to calculate the diagonal of the cafeteria instead of the diagonal of the classroom. If the students do not volunteer more imaginative remarks, the teacher himself may put a slightly different problem, for instance: "Being given the length, the width, and the height of a rectangular parallelepiped, find the distance of the center from one of the corners."

What Polya suggests is, in essence, tinkering with attributes of a problem. Once understood, the problem is described in abstract terms - as a class. Assignment of specific values to the class attributes generates specific problems - objects of that class. Polya's thinking is very much object oriented. But what do we do about his remark that such a procedure may be dull?

As a matter of fact, the same problem can be described in various ways. Different Descriptions correspond to different problem classes with different attributes. Depending on what particular class is chosen for fiddling with its attributes makes the occupation more or less inspiring.

As an example of a problem less dull than finding the diagonals of a cafeteria, Polya suggests finding the distance from the end of a pole to the corners of a field in the middle of which the pole was erected, which belongs to the "Double Application of Right Triangles" class. This is still the same tinkering but with attributes of a different class. Being aware of a problem classification like the one above certainly helps in coming up with new problems.

The epithet "dull" is quite irrelevant and superfluous. I think Polya, as a teacher, would have eventually regretted dubbing the student dull. Education is a process. Inculcating the right stuff takes time. The sooner one starts, the better are the chances. Here Polya clearly broke the object oriented spell.

The process of mathematics education should emphasize the relationship between abstract and concrete, i.e., between classes and objects. OO thinking seems to lead to the conclusion that the knowledge built as a result must be hierarchical. (Broad acceptance of C++ and Java among C programmers points to a high comfort level of hierarchical knowledge acquisition.)

Let me note that objects (concrete items) are never hierarchical, classes (concepts) may be. Classes may relate to classes, objects may relate to objects. This is all right to use manipulatives. However, unless manipulatives are used to convey a concept and place it in the class hierarchy, the teaching effort will be doomed. The danger in using technological gadgets is exactly this: in themselves, they only present facts not concepts. In order to be pluggable, the knowledge must be conceptualized.

#### Example

Now tell me whether the following is object-oriented:

The spiral curriculum. All elementary mathematics curricula are organized in what is called spiral form. That means that students encounter a topic more than once; they spiral back to the topic and meet it again at a higher level. The topic spirals upward. We would not want the students to "circle back" and meet the topic at the same level. The spiral shown here illustrates the spiral curriculum. As students move up through the grades, they study addition at each grade level. Other major topics also spiral upward.

The chapters in Part Two are related to the scope and sequence of the elementary mathematics curriculum. Each chapter represents a strand in the curriculum: a major topic which is developed over a period of years. These chapters cover whole numbers, fractional numbers, decimals, geometry and measurement, probability and statistics, and functions and relations. Each of these chapters contains some mathematical explanation of the topic. The major emphasis, however, is on how the children are to learn each topic and how the ideas can be explained and made meaningful to children.

If we do not think spirally, why do we have to learn or teach spirally? And this is what makes it so difficult. There are many right words in the quote and the right intentions. But, as long as the fundamentals are wrong, the pedagogy behind the spiral approach is not viable.

Concepts - classes - are not organized in a single hierarchy. Rather there is a web of related classes in which a variety of hierarchies can be distinguished. Recognizing individual hierarchies is as important as discerning relationships between the classes. But spirals?

### References

1. W.D.McKillip et al, Mathematics Instruction in the Elementary Grades, Silver Burdett Co, 1978
2. G. Polya, How To Solve It, Princeton University Press, 2nd ed, 1973

Index OO Themes Examples || | |

68815571