Skip to main content

Compututational Thinking

Computational Thinking

Computational thinking is a problem-solving skill which can human and robot can understand so, it used to solve problems. Computational thinking is for everyone because leads people to solve normal problems.

There are 4 steps:

  • Decomposition: Breaking a problem into small part.

  • Pattern-recognition: It is the idea that you can recognised and use from a different problem or situation.

  • Abstraction: In a problem we take away the parts that it is not important and focus in only 1 part.

  • Algorithms-thinking: Creation a set of rules to solve a problem.

The benefit for computational thinking is to solve more faster problems.


Decomposition

Decomposition is taking a problem and breaking it down to workout how it can be solved. You have to start with identifying the problem that is to be solved. THen you break that problem down into smalled individual problems. Each problem should be of similar complexity/detail. Each problem should be independent of the other problems identified and it should be seen as a task that needs to be solved.


Pattern Recognition

Pattern reognition is simply looking for patterns to determine if any of the problem or solution if any of the problems or solutions we have encountered in the past apply here and how they differ.

Patter Recognition:

  • Able to make more informed predictions on what may happen and what needs to be completed.

  • Makes the problem easier to solve/understand.

  • Helps to identify individual steps/parts/processes that will meet the requirments.

  • Can see where code can be reused speeding up development.

  • Can help to reduce the number of mistakes.

  • Plan time more effectiveyly.

  • Understand the size of the task.

  • Makes the task more manageable.

  • Help communicate the problem to others.


Abstraction

Abstraction is a process of making an easier to understand version of a complex system, by focusing only on key information. In computing abstraction is the process of removing detail, this need to know the under lying code to use them.

General patternSpecific details
We need to know that a cake has ingredientsWe don't need to know what those ingredients are
We need to know that each ingredient has a specified quantityWe don't need to know what that quantity is
We need to know that each cake need a specified time to bakeWe don't need to know how long the time is

Important of Abstraction

If we don't abstract we may end up with the wrong solution to the problem we are trying to solve It might be more complex than it needs to be.


Pattern Generalisation

Pattern Generalisation is about seeing a general pattern to computr programs. Pattern recognition is simply looking for patterns to determine if any of the problems or solution we've encountered in the past apply here and how they differ. Pattern generalization is about seeing a general pattern to computer patter.

Pattern generalization happens when relationships between patterns can be identified, and simple conclusions can be drawn. Sometimes patterns can be identified when on first glance they appear not to have similarities.

Do not confuse with pattern recognition !