Pedagogical Pattern #54
Icky Poo
(Version 1.0, October 1998)
Contributed by:
Joseph Bergin
Pace University
One Pace Plaza
New York, NY 10038 USA
berginf@pace.edu
and
Owen Astrachan
Duke University
Ola@cs.duke.edu
NAME:
Icky Poo (aka Physical Analogy)
THUMBNAIL:
Students can benefit from very vivid physical analogies. They can make the presentation of a complex topic unforgettable.
AUDIENCE/ CONTEXT:
Novices learning some new but complex topic.
FORCES:
Students often forget details of abstract concepts and confuse similar concepts. Analogies are a good way to prevent this if the analogy is close to the concept being taught and the student can quickly make appropriate associations when the details are required.
Dramatic, visible, and unexpected demonstrations are remembered. If they are also good analogies, then the students will carry important and unforgettable lessons.
SOLUTION:
Use a physical device, such as a toy, that has some of the characteristics of the concept being taught. Give a very vivid classroom demonstration of its use.
DISCUSSION/ CONSEQUENCES/ IMPLEMENTATION:
The instructor must be willing to give some thought both to how the analogy holds and how it breaks down. Students can possibly gain incorrect insight by taking the analogy beyond its intent.
SPECIAL RESOURCES:
Lots of physical props. See the example instances.
RELATED PATTERNS:
None known, but we are open to suggestions.
EXAMPLE INSTANCES:
Astrachan uses a toy called Icky Poo™ to illustrate many of the important concepts of C++ pointers. The toy is a sticky plastic that will stretch 20 times its length. It comes in the form of a snake. When you hold one end and "whap" the other against a surface it sticks. If the surface is a lightweight piece of paper, the object can be retrieved. Pieces of paper form the heap (free store). Calling new (whapping the Icky Poo against a piece of paper) retrieves it. Calling dispose detaches all Icky Poo snakes from it. Slinky™ springs can be used similarly, but require a person to play heap, holding one end of one or more Slinkys.
Michael Clancy originated a very vivid parameter passing exercise that demonstrates the concept of a parameter and the difference between value and reference parameters. Astrachan has adapted this as well. Frisbees™ are passed between caller and called function. The Frisbee represents a variable and has a name and a value written on it with a grease pen (Post-It™ notes can be used as well). In a reference variable, any change in the variable is written directly on the Frisbee. In a value parameter, the original value is written on the Frisbee, but the Frisbee is bagged in a transparent bag before being passed. Any change by the called function is written on the bag. Therefore the original value is not affected.
Tinker toys can be used to build trees and graphs of various kinds.
Astrachan uses various children's books (Cat in the Hat, Seuss) to illustrate some computer science concepts.
Some artifacts are created specifically with this in mind. There was a simple cardboard computer (Cardiac) that illustrated assembly language.
REFERENCES:
"The Official Icky Poo Book", by The Editors of Klutz Press, ISBN 0-932592-90-2. It is available for less than $10 US with the toy from Amazon (
http://amazon.com
).
ACKNOWLEDGEMENTS:
Mike Clancy is the first person we know to make use of this, though others must have come before him.
NOTE:
The authors would like to collect additional instances of this pattern. Please send descriptions and references if necessary to one or both authors.