Codelearn is a programming, robotics and computational thinking school. This is how we described ourselves, so today we would like to introduce you to this last concept, which has been winning popularity in the educational sphere. Programming and robotics are two big allies to learn how to think in a computational manner. For this reason, we try to communicate this kind of reasoning to our students from the first day through the learning method we have created.

Computational thinking is a mental process that leads us to find optimal, efficient, creative and open solutions for problems we have to face not only in technological areas, but also in any other sphere of our daily life. In order to communicate with computers and be able to understand them, computer scientists must learn how to think as a machine does: through decomposition in different parts, by recognising patterns, using abstraction levels and designing and designing from algorithms.

However, the resources provided from this kind of thinking, which we can acquire and develop while learning programming and robotics, are useful for anyone and can be applied to daily life whether people is related to the IT field or not. That is why computational thinking has been gaining importance through years.

Every time we have a problem and need to solve it, the first step we need to do is understanding that problem. Through computational thinking we can understand a problem that is difficult for us by splitting it into different and simpler parts, recognising similarities it can have with previous problems we have already solved, focusing on the most important part and ignoring small details, and implementing a solution step by step – instead of trying to reach the end in one go.

Although we don’t realize we are using it, computational thinking helps us facing a busy day with lots of duties and responsibilities to do. It helps us seeing the day in different parts or distribute tasks according to the place where we have to do each of them, as well as optimizing our time or the routes we take depending on how many times we have already done the same errands, focusing on what is more important and freeing ourselves from the heaviest duties first, elaborating a plan that includes everything we have to do and when it has to be done, so at the end of the day we will have been able to fulfil all the obligations we had in the morning.

In contrast, if we started driving around the city without thinking about it previously, tracing and retracing the same paths and without knowing the schedules we need to respect, as well as all the resources we can use (Which transport facilities can I use today? Which one would be the fastest? Can I get some help from a relative or a friend?), and in case we were not capable of establishing priorities neither, most surely we would finish the day just tired and not having finished all our duties because of a lack of organization and time optimisation.

This daily situation that we learn to solve better and better as we get older is the simplification of how we have to face any kind of problem, simple or complex, personal or professional, leisure or academic: we must analyse it, understand it, associate concepts and design solutions that leads us where we want to go; solutions that can be modified or improved every time and that awake our creativity.

And it is important to outline this creative and open part, since learning to think in a computational manner doesn’t mean that we have to start thinking like a computer but that we have to learn to simplify problems and get better at solving them the best we can, so facing these problems seems as simple (or complex) to us than organising our steps on a busy day.