Students tend to avoid subjects where they’re not likely to succeed. When you think about it, the reasoning is pretty obvious: failure is difficult and damaging to the ego. That’s why I believe that every student should be exposed to computational thinking early and often.
The meaning of the phrase “computational thinking” differs even among those who consider themselves experts, but the heart of the concept is the ability to break a problem down in such a way that it can be automated via computer, theoretically making it easier to solve. That requirement has been loosened in recent years in favor of analysing the details of something until you can describe it really well.
No matter what computational thinking camp you’re in, you will likely see at least four main pillars come up beneath the topic: decomposition, pattern recognition/matching, abstraction, and algorithms. Essentially, these are a bunch of fancy words that describe some very logical steps.
First, decomposition. To solve a big, nasty problem, the first thing you need to do is break it down into several problems that are substantially less nasty. Sometimes that’s easy, like piling similar coins when counting money in a jar. Other times, it can be a little less clear, like when figuring out how you’re going to get a heavy container down from a high shelf. Either way, it’s worthwhile to take a daunting task and break it into small steps to allow for clear moments of progress along the way.
Another handy thing that happens when you decompose something into pieces is that you might notice that those pieces have something in common. Patterns can be helpful when you figure out how to succeed with one part and use that knowledge to help with everything else. If the parts aren’t similar to one another, it’s not a tragedy. Often, you’ll find that the smaller problems are similar to something else that you have seen, and you can derive a similar solution from things you’ve done in the past.
Next comes abstraction. This word describes the act of ignoring tiny little differences when looking for a greater solution. It goes very well with the idea of finding patterns. A good example is making your bed. One week, you might put on grey pillowcases and black sheets, and the next week you use blue pillowcases and pink sheets. In both situations, you can simplify the process into putting on pillowcases and sheets, abstracting out the color of the linens as small details to be added back after you’re clear on the overall set of instructions.
Finally, this all leads to algorithms. While that word strikes fear into many who have been scarred by logarithms, you need not be intimidated. An algorithm is just a set of instructions that you can reliably follow to finish a task. A recipe is an algorithm for making cookies. A packing list is an algorithm for getting your suitcase ready. A program is a detailed algorithm that a computer can follow to make something special happen.
When students learn to use these skills on difficult problems, they start masterfully playing with obstacles like a potter plays with clay, tossing and flipping, and reconstructing until they’ve changed a massive lump of mud into a beautiful and useful vessel with a clear purpose and structure. This transformation not only happens externally on homework and term papers but, with practice, it happens within a person’s brain, allowing them to pull things apart, look at all sides, and reform it into a new idea that makes sense within their own world.
When pairing computational thinking with persistence and a growth mindset, you create a student who not only believes that they can learn, but who has the fortitude to create and innovate, as well. What a world it can be when our children no longer avoid the areas where they fail, but instead dive straight in, determined to master their weaknesses and pass on their lessons learned.
The best part about any of this is that computational thinking is not a subject of its own; it is a tool that can be used in any area of education. Whether breaking down math problems, term papers, science experiments, or physical challenges, computational thinking is a great equalizer, empowering students to feel that they have control over what they are capable of doing and preventing them from feeling helpless if they are not among the fortunate few who unexplainably intuit answers.
Still have questions? Check out these resources for more information: