0% found this document useful (0 votes)
12 views3 pages

What Is Abstraction

Uploaded by

neacolarena23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views3 pages

What Is Abstraction

Uploaded by

neacolarena23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

What is abstraction?

Abstraction is one of the four cornerstones of Computer Science. It involves filtering out
– essentially, ignoring - the characteristics that we don't need in order to concentrate on
those that we do.

In computational thinking, when we decompose problems, we then look for patterns


among and within the smaller problems that make up the complex problem.
Abstraction is the process of filtering out – ignoring - the characteristics of patterns that
we don't need in order to concentrate on those that we do. It is also the filtering out of
specific details. From this we create a representation (idea) of what we are trying to
solve.

What are specific details or characteristics?


In pattern recognition we looked at the problem of having to draw a series of cats.
We noted that all cats have general characteristics, which are common to all cats, eg
eyes, a tail, fur, a liking for fish and the ability to make meowing sounds. In addition,
each cat has specific characteristics, such as black fur, a long tail, green eyes, a
love of salmon, and a loud meow. These details are known as specifics.
In order to draw a basic cat, we do need to know that it has a tail, fur and eyes. These
characteristics are relevant. We don't need to know what sound a cat makes or that it
likes fish. These characteristics are irrelevant and can be filtered out. We do need to
know that a cat has a tail, fur and eyes, but we don't need to know what size and colour
these are. These specifics can be filtered out.
From the general characteristics we have (tail, fur, eyes) we can build a basic idea of a
cat, ie what a cat basically looks like. Once we know what a cat looks like we can
describe how to draw a basic cat.
Why is abstraction important?
Abstraction allows us to create a general idea of what the problem is and how to solve
it. The process instructs us to remove all specific detail, and any patterns that will not
help us solve our problem. This helps us form our idea of the problem. This idea is
known as a ‘model’.
If we don’t abstract we may end up with the wrong solution to the problem we are trying
to solve. With our cat example, if we didn’t abstract we might think that all cats have
long tails and short fur. Having abstracted, we know that although cats have tails and
fur, not all tails are long and not all fur is short. In this case, abstraction has helped us to
form a clearer model of a cat.

How to abstract
Abstraction is the gathering of the general characteristics we need and the filtering out
of the details and characteristics that we do not need.
When baking a cake, there are some general characteristics between cakes. For
example:
 a cake needs ingredients
 each ingredient needs a specified quantity
 a cake needs timings

When abstracting, we remove specific details and keep the general relevant patterns.
General patterns Specific details
We need to know that a cake has ingredients We don't need to know what those
ingredients are
We need to know that each ingredient has a We don’t need to know what that
specified quantity quantity is
We need to know that each cake needs a We don't need to know how long the
specified time to bake time is
Creating a model
A model is a general idea of the problem we are trying to solve.
For example, a model cat would be any cat. Not a specific cat with a long tail and short
fur - the model represents all cats. From our model of cats, we can learn what any cat
looks like, using the patterns all cats share.

Similarly, when baking a cake, a model cake wouldn’t be a specific cake, like a sponge
cake or a fruit cake. Instead, the model would represent all cakes. From this model we
can learn how to bake any cake, using the patterns that apply to all cakes.
Once we have a model of our problem, we can then design an algorithm to solve it.

You might also like