“Computational thinking is going to be a defining feature of the future,” starts the article in Wired Magazine. Powerful words about an old concept with newfound energy behind it. Doubtful? Check out how ubiquitous it has become: there’s computational biology, computational library science, computational mathematics, computational design. Throw out any subject, and you’re likely to be able to find a reference to the computational version of it.
So, what is computational thinking? Well – there’s lots of conversation about that right now, and not a whole lot of agreement. Here’s the most common definition: Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent – human or machine.
It’s a skill we work on a lot at Youth Code Jam. But let’s not get too deep in the academic woods. Let’s focus on four cornerstones that help develop this critical skill.
- Take a problem and break it down into smaller problems that are easier to solve. We call this decomposition, and it’s a foundational concept in computational thinking.
- Take a few minutes to recognize similarities among and between problems. Yo’veu pobabrly sene the praagraph with all the ltteers mxied up. You can likely still read that sentence because of your pattern recognition If you just stop and look at a problem long enough, you might well be able to identify some patterns that will help you come to a solution faster and more efficiently.
- Try to identify models that can be used and re-used without having to re-create the same information over and over. We do this kind of abstraction all the time. For example – when you cook a pancake, you likely use the same recipe over and over and then add strawberries or chocolate chips to add some variety. But on your recipe cards, you’re probably just going to have the generic, big picture recipe instead of one card for each type of muffin with the same recipe repeated over and over.
- Use an algorithm – a step-by-step guide. We do this all day long: making a sandwich, brushing your teeth, making meat loaf. Stop and look at the steps you take, try to describe them, and imagine what would happen if an important point were left out. We kind of love this example: https://youtu.be/cDA3_5982h8.
Computational thinking is intellectual work that can be really fun for kids. It teaches them that they can use their imaginations, their brain power and their tech skills to create and innovate. It inspires them to tackle the great problems of today and the future. It truly is a “defining feature.”