Bona Akubue | Software Developer

computational thinking

Applying computational thinking for problem solving

Computation thinking is very essential in any problem-solving activity. It is a skill that cannot be overlooked, especially, if you are in the field of programming or software development.

Mastering this skill is a sure path to excellence.

Basically, computational thinking is an approach to problem-solving whereby a problem is described as detailed as possible and in the most logical manner.

This involves breaking down a problem into simple steps or tasks that the computer can understand. In other to do this, you have to critically think through a problem the way a computer would.

Though, some people believe that computational thinking is strictly for programming and software development.

Maybe!

But the reality is that other professions like medicine, law, accounting, and agriculture also employ computation thinking.

Why would you have to think computationally?

First, the way or approach used by computers to interpret, analyze or solve problems is different from the way human beings interpret or solve problems. In other to effectively communicate with the computer, you have to be as detailed and logical as possible.

Secondly, the process involved in breaking down a problem into simple tasks that could be understood by the computer provides a better understanding of the problem. A good understanding of a problem makes the solution easier and that is what computation thinking does.

Therefore, in other to effectively communicate with the computer or have the computer solve a problem for you, you have to think computationally. You have to think like computers.

There are four principles of computation thinking and they include:

  • Decomposition
  • Pattern recognition
  • Abstraction
  • Algorithm design

Decomposition

This has to do with breaking down a problem into simpler and small manageable chunks. It is about breaking down problems into smaller parts or units. These could be a series of activities to be done in other to solve the problem. Therefore, if all these small chunks that comprise the problem are solved, the problem is eventually solved.

An example of decomposition is breaking down the process of cooking a particular meal into smaller chunks like washing vegetables, slicing vegetables, boiling water, mincing meats and so on.

Decomposition entails figuring out all the possible activities, tasks, steps, and so on, required to solve a problem.

Learning how to break down (decompose) a problem into smaller units is essential. If you master this skill, there is no problem you cannot solve.

Pattern recognition

Pattern recognition has to do with identifying shared similarities or differences within the smaller chunks of the problem. It’s about finding out the relationships that exist between the decomposed problems.

When patterns are recognized, it is easy to apply a solution that worked in a given decomposed problem to other similar ones. In essence, a solution that worked in a given problem can be accurately predicted to work on a similar problem. If patterns are ignored, it is possible to have different unique solutions to similar problems, which is a complete time waster.

Also, Pattern recognition also has to do with applying experiences or lessons learnt while solving a problem in the past to the present problem you are trying to solve.

Abstraction

While trying to solve any problem, it’s important that you identify what’s important and what’s not. This, of course, is what abstraction does.

Abstraction involves filtering out certain details or characteristics in the pattern that are not necessary while solving a problem. When analyzing a problem or attempting to solve a problem, it may be difficult to completely solve the problem 100% per cent.

Abstraction makes it possible to identify the most important aspect of the problem and those that are not very important. This means that you solve or focus on the important ones, leaving behind those that are not very important.

Algorithm design

An algorithm is step-by-step instructions used to solve a problem. This is a detailed and systematic series of actions or activities to be followed in other to solve the problem. A typical example of an algorithm is a recipe for cooking a particular meal.

After abstracting the patterns, the next thing to do is to draw up an algorithm. An algorithm is like a manual with instructions to be precisely followed.

To sum it up, when presented with any problem, taking on the problem as a whole may be difficult. It’s often easier to break it down into smaller chunks. Identify similarities, differences and relationships between those chunks. Then, recognize details that are important and focus only on important them. Finally, draw up step-by-step activities or tasks to solve the problem.

Thinking this way is called thinking computationally.

Leave a Comment

Your email address will not be published. Required fields are marked *