Computational Thinking, A Thinking Method for The 21st Century Student

January 29, 2018

A: 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:

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 lengthily 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 doesn’t 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 the new software, emergency procedures, replacing a flat tire, or writing a paragraph.

Computational thinking is a fundamental skill for everyone, not just for computer scientists…Just as the printing press facilitated the spread of the three R’s, what is appropriately incestuous about this vision is that computing and computers facilitate the spread of computational thinking.

 Jeannette Wing

Why is computational thinking important to teach?
Jeanette Wing has been pleasantly surprised that her original statements in 2006 about the importance of computational thinking took hold in the computer science and business industry. Now, more than a decade after her publication, she is excited to see the amazing progress made in the K-12 education field.

 

Credit: MVA


Leave a Reply

Your email address will not be published. Required fields are marked *