What is computational thinking?
Computational Thinking is a way of thinking about problems, similar to mathematical thinking or scientific thinking. But it is slightly different than those methods of thought. The problems being solved with computational thinking can leverage the power of technology, like software. Here are the main components of computational thinking:
Decomposition
Break. It. Down. No, not a dance, but decomposition refers to the smaller pieces that make up the larger problem.
For example, if you were to think about something you do daily, such as making toast, you could break down, or decompose the process into chunks like these:
- Lay one slice of bread on a cutting board
- Open jam jar
- Use knife to extract jam from jar
- Use knife to spread jam onto the bread
This sounds easy, but what if you’re simultaneously making eggs for breakfast? Or what if you need to make the jam first, or go to the store for bread before you can attempt these steps?
This problem from a larger viewpoint could actually start with berry picking and a lengthy detailed trail of jam-making before even attempting to get out the bread.
Breakfast is relatively easy to understand and breakdown because we know what the end result will look like. There are not a bunch of unknowns like there could be in other problems. This is where decomposition becomes useful in helping to determine where any unknowns might arise in the process, or identifying the key smaller components that lead to the next part of the problem.
Pattern Recognition
Noticing similarities and differences within patterns is an important component of Computational Thinking. Being able to see that one element is a part of a bigger pattern helps students be able to predict with more accuracy what will likely happen next.
Patterns can be visible to preschoolers as they see changes alternating colors within a striped shirt. Many medical discoveries happened by recognizing the patterns that occurred in patients. Historians see patterns within civilizations and revolutions, while economists are great at finding patterns within financial and cultural changes in society.
Abstraction
Abstraction is the ability to generalize a pattern and prioritize what is pertinent and what is not in relation to the problem.
Abstraction is something that happens frequently with trial and error experiments in a physics class, trying to find the right pair of shoes at the store, or even dating! Identifying what does not fit is sometimes crucial to determining where, when, or why breakdowns occur. This allows the focus to be on the relevant information to help solve a problem.
Algorithmic Thinking
Algorithmic thinking is the practice of creating a step-by-step set of instructions, guidelines, or rules to solve a problem.
Many of us identify the word algorithm strictly with mathematics. However, we use algorithms every day when we utilize something like a recipe for baking muffins. We follow an algorithm (the recipe) hoping the muffins come out of the oven and taste yummy. When students utilize algorithmic thinking in their computational thinking process, they are not just following someone else’s recipe, but instead are breaking down the steps and creating their own recipe. Algorithmic thinking can be seen in directions for downloading and starting new software, emergency procedures, replacing a flat tire, or writing a paragraph.
Do you see some components of computational thinking already present in your current lessons?
Is there a way you could adapt a lesson to include one of the components?
Adapted from education.microsoft.com