Computational Thinking

2.6 Computational Thinking

Using computation to solve problems requires the ability to think in a certain way, which is often referred to as 'computational thinking'.

2.6.1 Importance of Computational Thinking

  • Encourages clear reflection on problems
  • Helps define repeatable solutions
  • Aims for automated systems to solve similar problem instances
  • Can be thought of as an extension of logical thinking

2.6.2 Properties of Computational Thinking

  • Decomposition: Breaking down the larger problems into smaller, manageable ones and working on them one by one. These smaller problems are referred to as sub-problems. This way we simplify the problem and solve it easily.
  • Abstraction: Removing the unnecessary details to solution, so you could be able to identify essential information.
  • Pattern Recognition: Examine the problem for a pattern or similarities between previously solved problems.
  • Algorithm Design: This is actual designing of solution. This involves creating step-by-step plan of the problem solution.

Example: Creating a Computer Game

If you want to create your own computer game, here's how these properties of computational thinking would apply:

  • Decomposition: where to go, how to complete the level
  • Abstraction:
    • Necessary Information: location of exit, where is enemy, etc.
    • Unnecessary Information: weather
  • Pattern recognition: Six enemies should be handled like a single enemy.
  • Algorithm Design: step by step plan of action e.g. movement

Tip

Before You Learn Programming, Understand Computational Thinking.