Improve your problem-solving skills with Computational Thinking

Henk van der Duim
4 min readSep 21, 2022
Image by Magda Ehlers

We have stuff for relaxation and entertainment at work (game console, karaoke, jigsaw puzzles, etc.). I get Sim City and the Wii in terms of computer games. Karaoke? It’s so hard to get staff. So don’t let me sing, I’ll chase the others away too. Jigsaw puzzles then. I am busy puzzling for a large part of the day. I’ll soon publish an article about my first six months at the amsterdam&partners foundation as a data engineer.

I have nothing against jigsaw puzzles in particular or in general. I think puzzles can be a great help in training your problem-solving skills. We are all confronted with problems and challenges in our daily work. Issues and challenges that we must overcome to move forward.

But what exactly is a problem? In my opinion, it is a situation that can be considered harmful or undesirable. And that needs to be addressed and/or resolved. It can also be a question for investigation, consideration, or resolution.

Let’s go back to the jigsaw puzzle. I throw all the loose pieces on the table and start sorting. I set aside the elements with a straight edge on one side, just like those with the same color or pattern. So I quickly have several piles with pieces of the puzzle. And four pieces of the puzzle with two straight edges, for the corners.

I usually start with the outer edge of the jigsaw puzzle. I put the four pieces with two straight edges on the corners and then look for the matching pieces, search and fit, search and fit. Until the outer edge of the puzzle is placed. I’m working in a loop.

Putting puzzles together is an exercise in problem-solving, manipulating known variables, and using different methodologies to get to a solution.

Image by Karolina Grabowska

Computational Thinking

Before I started the Cloud Engineer course last year, I took a Computational Thinking course via Coursera.

Computational thinking was discussed during the assessment days of the cloud training. Very interesting. Googled it and ended up with the course ‘Problem Solving using Computational Thinking.’

In this course, you will learn to think computationally. It has nothing to do with programming per se. It can greatly help you if you want to learn a programming language.

Making jigsaw puzzles is a great way to practice the thought processes that computational thinking uses. Computational thinking is a problem-solving framework.

Image by Brett Jordan

The steps in Computational Thinking

Computational thinking consists of these steps:

Problem Identification: what kind of puzzle do we have to solve?

Decomposition: this stage involves breaking the problem down into smaller components so that they can be tackled easier. The more you’ll break an issue down, the simpler it’s to resolve.

A puzzle itself may be a decomposition. The pieces of the puzzle are the smaller pieces of something big. This stage also allows you to develop a more robust understanding of the matter you face by identifying all the components intimately.

Pattern Recognition: where similarities and trends are identified within the matter. If some problems are similar (both within this problem being tackled or within past problems), there’s an honest chance that they’ll be solved using similar, or repeated techniques. this is often a key component for creating efficient solutions and saving you time in the long term.

One of the ways to sort puzzle pieces is to seek patterns. Putting these similar pieces together, whether or not you’re undecided about how all of them fit together, is often enough to cause breakthroughs in joining pieces of the puzzle in a while.

Abstraction: this involves the identification of key components of the answer. Instead of staring at specific details, it requires the power to separate unnecessary elements of an issue so that you simply target the important elements.

When abstracting an answer, pieces are sorted. Patterns may be seen. Abstraction allows you to look at problems from a macro instead of a micro view.

Algorithmic Thinking: an in-depth step-by-step set of instructions are created to explain a way to solve the matter. The measure of an honest algorithm is often passed to somebody else without the requirement for any extra explanation. the globe is filled with algorithms; following cooking recipes, building flat pack furniture, visiting a quick food drive-through, or paying for your shopping at a self-service counter. The more you’re thinking about it, the more you realize that you just tend to follow many sets of instructions each day.

With puzzles, the recommended puzzle-solving tasks are to line pieces aside and find pieces by color-supported algorithmic thinking. There’s a mental checklist involved: does this piece have a straight edge? what’s its color? Does it have special features?

Conclusion

These five steps seem linear, but the reality is that they are performed in an iterative, non-linear fashion. In this case, several roads lead to Rome!

These steps represent “things to think about” as you work to develop a plan to solve your problem.

You can put together a puzzle using computational thinking.

About me

I’m Henk van der Duim, Data Engineer at Stichting amsterdam&partners.

Follow me on Medium for regular updates on Data, AI and other topics:

Also, I am open to connecting all data enthusiasts across the globe on Linkedin:

https://www.linkedin.com/in/henkvanderduim/

--

--

Henk van der Duim

Data Engineer @ Stichting amsterdam&partners, author of 'Twitter en Personal Branding', sharing stories about data, AI and tech.