
218
9 Algorithm design And problem solving
9
Computational thinking is used to study a problem and formulate an effective
solution that can be provided using a computer. There are several techniques
used in computational thinking, including abstraction, decomposition,
algorithms and pattern recognition.
9.1.1 Using abstraction
Abstraction is an essential part of computational thinking. It enables computer
scientists to develop clear models for the solution to complex problems.
Abstraction involves extracting information that is essential while ignoring
what is not relevant for the provision of a solution, only including what is
necessary to solve that problem.
Abstraction encourages the development of simplified models that are suited to a
specific purpose by eliminating any unnecessary characteristics from that model.
Many everyday items use abstraction, such as maps, calendars and timetables.
Maps use abstraction to show what is required for a specific purpose, for
example, a road map should only show the necessary detail required to
drive from one place to another. The road map in Figure 9.1 has reduced the
complexity by only showing the essential details needed, such as roads, road
numbers and towns, and removing other information about the terrain that
would not be helpful (as shown in the satellite view).
The benefits of eliminating any unnecessary characteristics from the model include
» the time required to develop the program is reduced so the program can be
delivered to the customer more quickly
» the program is smaller in size so takes up less space in memory and
download times are shortened
» customer satisfaction is greater as their requirements are met without any
extraneous features.
Map Data © 2018 Google, Imagery © 2018 Landsat/Copernicus
▲ Figure 9.1 Road map and satellite view
The first stage of abstraction is to identify the purpose of the model of the
situation that is to be built. The situation could be one that occurs in real life, an
imaginary one, or a future event such as modeling the route of a deep space probe.
Once the purpose has been identified, sources of information need to be
identified. These can include observations, views of potential users, and
evidence from other existing models.
The next stage is to use the information gathered from appropriate sources
to identify what details need to be included in the model, how these details
should be presented and what details are extraneous and need to be removed
from the model.
For example, maps are used for many different purposes and can take different
forms depending on the identified use. The purpose of the road map model in
Figure 9.1 is to allow a driver to plan a journey, therefore, it includes towns and
457591_09_CI_AS & A_Level_CS_217-237.indd 218 26/04/19 7:32 AM