2.1.1. Thinking Abstractly
2.1.1. Thinking Abstractly
2.1.1. Thinking Abstractly
www.pmt.education
Specification:
2.1.1 a)
● The nature of abstraction
2.1.1 b)
● The need for abstraction
2.1.1 c)
● The difference between abstraction and reality
2.1.1 d)
● Devise an abstract model for a variety of situations
www.pmt.education
The nature of abstraction
Abstraction is one of the most important principles in Computer Science and is a critical
part of computational thinking. It is the process of removing excessive details to arrive at a
representation of a problem that consists of only the key features. Abstraction often
involves analysing what is relevant to a given scenario and simplifying a problem based on
this information. This is called representational abstraction.
Very large, complex problems make use of multiple levels of abstraction, where each level
performs a different role. The highest levels of abstraction are closest to the user and are
usually responsible for providing an interface for the user to interact with hardware
whereas the lowest levels of abstraction are responsible for actually performing these
tasks through the execution of machine code.
www.pmt.education
The need for abstraction
At its core, abstraction allows non-experts to make use of a range of systems or models by
hiding information that is too complex or irrelevant to the system’s purpose.
www.pmt.education
The difference between abstraction and reality
- Which parts of the problem are relevant based on the target audience and the
purpose of the model?
Remove sections that are not relevant to the problem that needs solving.
Remove details that will confuse the audience.
www.pmt.education