2.1.1 Thinking Abstractly:

Download: 2.1.1 Thinking Abstractly

Abstraction (brief explanation): – This is a problem solving tool that involves the process of simplifying a situation by separating ideas from particular instances or reality.

Types of Abstraction:

Representational Abstraction: – This is the process of removing any unnecessary detail from the problem down to its essential features. This can make it easier to find a computational solution.

Generalisation Abstraction: – This is the process of simplifying a problem by grouping the remaining features in a hierarchical structure.

Examples:

  • A Variable.
  • A data structure.
  • A network address.
  • Layers in a network.
  • A symbol on a map.

The Main Advantages:

  • It allows to focus on key points within the problem. This prevents distraction from unimportant details.
  • It allows to see the overall structure of the problem.
  • It can allow people to work into teams.
  • Removes unneeded complexities that may require more programming or computational resources, such as design effort & extra memory.
  • It can help to find common patterns within a complex problem.
  • Allows the use of generalising from many examples.
  • Allows us to simplify structures from the complex system.

Context is key: – The context of the problem allows us to see what is relevant to the solution and what is not. Context also allows us to see any similarities in previous problems that we have possibly solved in the past. It is important to note that some details may be considered irrelevant to a computational solution, but significant in human context.

IMPORTANT: Abstraction strips unnecessary detail, which are considered irrelevant to the problem, from reality. This can be used to create a model to show only the parts of reality that we need to be able to observe, understand, discuss and use. For example, abstraction may be used in the creation of a flying simulator program to teach new pilots. As a result, details such as birds, buildings on the ground, people may not be used in the program as it’s not related to its purpose. However, weather, clouds and day/night cycle may be kept for the training program. It depends on the context. The message is that Abstraction is not an overall representation of reality. Reality will include these features obviously whereas an abstracted program will not.

 

Loading