Learning by Analogy - Oracle
Oracle Teaching Tips by Donald Burleson
Many professors rely on analogy,
metaphor and over-generalization
to maximize complex learning, and it's a skill that is taught in graduate schools across
the world. I've taught over 80 classes in graduate school, and
the only way to teach complex topics like statistics and database are by using
analogies, building on the prerequisite conceptual framework classes such as
"Algorithms" and "Data Structures" courses.
The term "succedaneum"
mean something that can be used in-place of another, and teaching by succedaneum
is a critical skill for science and engineering courses. Poet William
Wordsworth said it best:
as what in truth she is,
Not as our glory and our absolute boast,
But as a succedaneum, and a prop
To our infirmity.
The teacher starts with simple, over-general assertions, building
layer-upon-layer of complexity on top of each generalization until the whole
concept becomes complete.
Life is like a box of
chocolates - The use of analogy in scientific instruction
Teaching by analogy
and over-generalization is an integral part of the learning process, especially
for complex concepts, and academic research confirms the centuries-old belief
that children learn complex concepts best by analogy and over-simplification.
For example, all junior High school kids
like analogy jokes: "What does a oyster shucker with epilepsy have in common
with a prostitute with diarrhea?" (answer at bottom),
and we all took the
SAT analogy test and learned to express one thing in terms of anther:
(A) wild pack of rabid dogs : puppy
(B) Goo Goo Dolls : Replacements
(C) playa lake : oceanic trench
(D) I Can't Believe It's Not Butter : butter
Analogies are also helpful to
understand complex science concepts and there are many examples:
- Biology -
Phylogny is the
analogy (untrue, BTW), that a developing zygote/fetus reproduces it's own
evolutionary stages (e.g. a mammal fetus has gills at one point,
allegedly mimicking it's evolution).
- Statistics - When we teach linear regression,
we do it first in single
terms first, showing sum of the least squares for examples on simple
predictive models. As the student learns more, we can then go into
details, introducing exponential smoothing formulae and multivariate models.
- Electrical Engineering
- Introductory students are taught that electrical current is like a network
of pressurized water pipes.
Other common analogies for
leaning computer science include:
- Java - It's
just like C, but without pointers. (Java
is sometimes referred to as C++ ++ --).
- Polymorphism - A polymorphic interface is like a steering
wheel on a car. The steering may have many underlying types (power,
rack and pinion), but all cars are unified by a standard interface.
- Class Definition - A class definition is like a stamping
machine in a factory. Just as the stamping machine stamps
out products, a class definition stamps-out objects.
- Relational Databases - Relational databases are like naked
people. Stand them on their heads and they all look alike.
The ability to over-generalize and
simplify complex concepts with analogies is a critical skill for anyone who
teaches computer science.
Google job interview questions where candidates must
explain computer concepts to a hypothetical 8 year-old:
Q: "Explain a database in three sentences to your
Research on teaching by Analogy and Simplification
Teaching by analogy is especially useful for learning complex technologies,
as noted by a wealth of academic research.
John Robinson of the Memorial University of Newfoundland notes that the use
of analogy and simplification is a critical skill for any engineer:
"Practicing engineers probably make use of analogy as
often as practicing lawyers. Reference to previous jobs, identifying
similarities and differences, making linkages between contexts, are all
In many cases the analogies will be simple and direct, but, especially in
systems engineering, the linkage can be between two very different domains.
The ability to see analogical situations, particularly in balancing the
values of different criteria, is central to engineering judgment. The
ability to explain these analogies, and argue their relevance, is
This paper on
science describes the use of analogies in leaning complex science concepts:
"Analogies are commonly used in science instruction -- for example, when
an electrical circuit is compared to a water-flow system. Learners' models
of a domain are shaped by such instructional analogies.
Analogy is used to apply arguments used in examples to new problems, and
similarity is used to extract principles from repeated, overlapping
Teaching Oracle Database
concepts by analogy and simplification
I noticed that many aspiring
Oracle teachers have trouble when "dumb-down" their communications to
the level where
they can be understood by novices, dilettantes and High School level students in
Oracle Academy. I've successfully presented Oracle
technology to 9th-graders, and it you don't know how to communicate at the same
level as your audience, you are wasting your time.
For consultants, many top-level IT
managers don't know (or care) much about the relative features of database
products (SQL Server, Oracle, DB2), and it's necessary for a real Oracle guru to deliberately
over-generalize and explain complex technology with simple analogies and
Many Oracle instructors
use simple analogies, starting with overgeneralization, and filling-in
the exceptions as the students learn:
- Oracle Index
- An Oracle index is like a card catalog in a library. If
you visit the card catalog you can go right to the book without
having to scan every shelf in the stacks.
- Freelists -
To a beginner, being able to say "Oracle freelists are like one-way
linked lists", gives the student an immediate frames of reference.
Of course, traditional Oracle freelists are not 100% like one-way
linked lists, but these details can come later.
Analogy and the knowledge of the Audience
While the use of analogies and metaphors is the best way to
"layer concepts" in beginner curricula, teaching practicing
professionals presents different challenges. Oracle
Scott Swank (co-creator of the hilarious
Oracle WTF blog) notes
that can be a
poor approach not to mention all of the
subtle nuances when describing complex Oracle database features:
consider over-generalization to be a poor approach by definition. I consider
analogies to be a poor replacement for concrete understanding."
True, for experienced, practicing Oracle professionals it's very important to
completely describe all exceptions when explaining Oracle concepts. On the
other hand, a beginners eyes will glaze-over if their Oracle teacher starts
listing dozens of exceptions, describing techniques that they do not comprehend.
As the kids say in college today "TMI", too much information.
Hence, the use of analogy is desirable for beginner courses, but
you must make sure to follow-up with the details and exceptions when
the student is prepared to understand and appreciate them.
Preventing conceptual errors with analogies
Professor Gertner explains the power of analogies and metaphors, noting that the "skill" of creating a good analogy is the
key to preventing conceptual errors when teaching beginners with analogy:
"Even without explicit teaching, learners' naive mental models are often
formed around their own spontaneous analogies and implicit similarity
comparisons. Sometimes these comparisons lead to models that are wholly or
Thus, a better understanding of the psychology of analogy and similarity
would not only improve our theories of learning and transfer but would also
allow us to anticipate and perhaps prevent many conceptual errors."
The Analogical Mind
An Oyster shucker shucks between fits