The Importance of Computational Thinking

If you work in education, you’ve likely already heard of “computational thinking.”  It means many things to many different people, but at its origin, it was meant to define a set of skills for transforming real world problems for processing on a computer.  Since then, the techniques have proven to be valuable in solving almost any type of problem for any reason because the main steps in computational thinking are also the main steps in understanding information that is new to you.

Small and medium variations aside, computational thinking is made up four main pillars that can be used as the foundation for other levels of detail. Those pillars are: decomposition, patterns, abstraction, and algorithms.

To understand why computational thinking is important for every subject, even the non-technical ones, we must first understand what each pillar involves.

Decomposition:

My favorite of all the pillars, decomposition is the act of taking a large or complicated problem and breaking it down into smaller or more simple parts.  In my mind, this is the single most important step to understanding a problem that you have never seen before.

When you stop to think about what the outline of a big paper might be before taking on the entire text, that’s a form of decomposition. When you break volunteers into individual committees to plan a big dance, that’s a form of decomposition. When you have students dissect a word problem and pull out all of the pieces that they’re going to need, that’s also a form of decomposition.

Decomposition allows you to take something that’s big and complex and break it into pieces until each piece is something that is either familiar or manageable.  From there, you only need to handle the small pieces, then get the whole thing sewn back together.  It’s practically magic.

Patterns:

Pattern recognition is just as important as pattern matching when it comes to computational thinking.  The idea is, once you have your simple pieces of a problem, you’ll start to notice that some of them look familiar.  They might either share solutions with other things you’ve seen, or share solutions with each other. When we see issues with knowledge transfer, this is often where it comes from.

Take, as an example, making frosting.  One of the steps to a good buttercream is creaming the butter.  You may already know how to do that from baking cookies, but without the ability to recognize the similarities, you won’t be able to draw from prior experience.  You may be well aware that there are six sides on a standard die, but when asked to share the number of surfaces on a large box, that information probably won’t be at the ready unless you take the time to recognize and match the pattern.

If you want your students to become experts at transferring their knowledge from one subject to another, spend more time helping them find and match similar elements from two completely different areas.

Abstraction:

This is generally considered the most difficult pillar of computational thinking, in part because the idea is so…abstract.

In this case, abstraction has to do with removing unimportant details and saving more complicated details for later.  Taking those things away makes it easier to see patterns so that you can discover a base solution before changing it to be specific to your current problem.

When you leave out color while mixing up a big batch of modeling dough, then add the color later, that’s a form of abstraction. When you tell a short story instead of giving all of the details, that’s a form of abstraction. Even coloring book pages are abstractions of actual items.

Creating an abstraction lets you find a near-peer of a problem so you can use a similar solution in both cases.

Algorithms

Finally, we have algorithms, which in this case means putting everything back together into a complete solution (though, in general, an algorithm is a list of steps to accomplish a task.)

Creating a list of steps, or a formula, for solving a problem is the ultimate goal for computational thinking. Once you can put into words — or code, or numbers — exactly what actions need to be followed, then the hardest part is done!  All that’s left is to execute the solution.

Algebraic formulae are examples of algorithms.  So are recipes, treasure hunts, and computer programs.

In conclusion, the pillars of computational thinking are everywhere because they’re useful everywhere!  Institutions are spending a lot of time and money on these ideas, whether or not they’re included in technical courses, precisely because they are intrinsic to learning, invention, and innovation.

No matter what subject you teach, make sure to include a firm foundation in the pillars of computational thinking and you’ll begin cultivating generations of problem solvers.

Liked it? Take a second to support vsAdmin on Patreon!