Abstraction and Pattern Generalization
Abstraction in Computational Thinking allows for the creation of a more generalized model
of the complex problem being solved. Abstraction “lets one object stand for many” and
allows us to deal with complexity and scale. Using what you learned by recognizing patterns,
relevant variables can be identified, grouped and generalized (described with less detail)
so that they define the main ideas of a problem.
The key to abstraction is to be able to identify and filter out or ignore the details not necessary
to solve the problem. From there, a model (equation, image, word, simulation, etc.)
can be developed to represent all the important variables. A variable is a name that can be
associated with a value. Variables have changing values and can be represented by a number,
letter, word, blank or image. Often, the value of one variable will determine, or be dependent
upon, another. In these examples, you can see how the value of the second variable,
or input, is dependent on the value of the first variable or input. Abstraction allows
you to create a generic representation of a problem.
Pattern generalization “is creating models, rules, principles, or theories of observed
patterns to test predicted outcomes” In other words, Pattern generalization is figuring
out the right relationship between the abstracted variables to accurately represent the problem.
Recognizing patterns as we did in the last video is critical, as patterns are almost
always where generalizations begin. What an abstraction looks like depends on
the type of problem being solved. Here are some abstractions across different areas and
problem types:
Science Examples of abstractions in science include
simplified models of the water cycle, nitrogen cycle, rock cycle, etc. Classification of
living things can also be considered abstraction--we use words like mammal to generalize groups
of animals, or marine organisms to generalize life in the ocean. In Chemistry the periodic
table is an abstract diagram representing lots of information about much of human knowledge
relating to earth’s materials.
Math Most of mathematics involves abstraction.
Even something as simple as a triangle is an abstraction of points, lines and angles.
Art In his painting Three Musicians Pablo Picasso’s
abstract shapes and colors come together to form a picture that we recognize as three
individuals playing instruments.
English When we learn a language, we learn about how
different parts of speech come together to form a sentence. Here is an abstraction of
a basic sentence structure in English.
Subject (person or thing) + action/occurrence/state of being + object (person or thing)
OR
Noun + verb + noun
For example: Susie ate pie.
The dog ran home.
Mad Libs are another example of abstraction. Instead of specific nouns, verbs and adjectives,
a blank is given where any noun, verb or adjective can be placed. The result is grammatically
correct sentences with some pretty silly meanings!
Universal symbols Every day we encounter familiar symbols that
are so commonplace in our lives we rarely notice them. However, these abstractions truly
do “let one object stand for many”. See if you know what message each of these symbols
represents.
Let’s start by using abstraction with a familiar problem. We previously decomposed
the problem into three smaller subproblems to be added together and identified the patterns
between how those subproblems can be solved. The subproblems are:
Cost of red beads x number of red beads Cost of blue beads x number of blue beads
Cost of thread x length of thread
We can now use abstraction to simplify the problem even further into one repeatable operation:
Material cost x material quantity The variables are
1. The cost for each type of material 2. The quantity of each material
Through abstraction we have created one operation that can be used to determine the cost of
each of the three materials. In the final video we will return to this problem and discuss
an algorithm for solving the entire problem. Abstraction helps us to create models related
to a problem that can work for large quantities and ranges of data. Suppose you wanted to
calculate how much it would cost to make a 10 foot garland out of red beads and thread,
or calculate the cost to create 250 necklaces, or calculate how many 24 inch necklaces using
an alternating pattern of 3 red beads and 3 blue beads could be made for a certain budget?
The abstract operations you have designed can help you do that. Your abstract operations
can make it easy to model or calculate different options.
Other examples of abstraction being used to create models that allow testing of different
variables and situations include:
Learning about gravity and acceleration using a physical model (a ramp and ball) at a very
young age, in a lab as a middle school or high school student using graphing to model
changing variables, or as an engineer. Let’s continue with another example from
the last video, the Make a Monster example. In the last section we listed patterns or
similarities that the different monsters had in common. Here is what we found:
What do all the monsters have in common? • The all have a head
• They all have eyes • They all have a nose
• They all have a mouth • Two have ears
We know from looking at the pictures that there are several options for different head
shapes, eyes, noses, mouths and ears (including no ears). Using abstraction, we now want to
modify these statements so they could describe the qualities of any monster. For example,
This monster has a blank head. This monster has blank eyes.
This monster has a blank nose. This monster has blank ears.
This monster has a blank mouth.
In this case, the variables are as follows:
Heads: Zombus, Franken and Happy And eyes, ears, noses and mouth: Vegitas,
Wackus and Spritem
If a monster doesn’t have one of these features, we can call that InHideum.
In the last video we will learn how to take this abstraction and use it to give instructions
to another person to recreate any monster! Here are some other examples that you can
use in your classroom to practice abstraction: A Dichotomous Key provides a process for identifying
something based on its features. This can be an animal, plant or candy--the process
is the same! Like in Make a Monster, in this activity the student is responsible for abstracting
the characteristics of several different types or varieties of something--in this case candy.
By organizing those abstractions into a dichotomous key, they create a tool that can be used by
others for identification purposes. As mentioned earlier, Mad Libs are created
through abstraction of a sentence. Mad Libs can be done on paper, such as in the activity
Mad Glibs from studio.code.org, or they can be generated online.
In this activity students first go from specific to general, by carefully describing an everyday
object using general terms so that someone who didn’t know what it was could understand.
Students then trade descriptions and try to figure out what each other was describing.
Working with tangrams involves abstracting geometric patterns--using shapes to create
other recognizable shapes. This becomes a game at GeoShapes on National Geographic Kids.
Challenge your students—who can solve the tangrams problems the fastest?
When you have finished watching this video, don’t forget to complete the quick self-evaluation
to check your understanding.