Thinking abstractly
Thinking abstractly is a method used when solving computational problems.
It involves removing unnecessary details and keeping important ideas.
Through abstraction, a useful representation of a problem is made.
Here are some different types of abstraction:
-
Abstraction by generalisation - by grouping problems based on similarities, you can use the same method to solve them
-
Data abstraction - by abstracting how data is stored, programmers can use different data structures without needing to know how the structures are implemented.
For example, stacks and queues.
-
Black boxing - after a function or procedure is coded, programmers do not need to know how it works, only what it does.
And here are some examples of abstraction
The TCP-IP stack
-
Transmitting data over the internet is abstracted into four important layers: application, transport, network and link.
Each layer handles a different part of the communication process.
Each layer has its own set of protocols and can be edited individually.
This is useful because you do not need to change the entire system to make an update to a single layer.
World map
-
World maps have many unnecessary details removed to create a useful representation of the world.
Only outlines of land, place names, important roads and sometimes altitude lines are present on maps.