The One About Decomposition in Computational Thinking
The power of computational thinking starts with decomposition, which is the process of breaking down complex problems into smaller, more manageable parts. With decomposition, problems that seem overwhelming at first become much more manageable.
“If you can’t solve a problem, then there is an easier problem you can solve: find it.” George Pólya
Problems we encounter both in the course of student learning and throughout our daily lives are ultimately comprised of smaller problems we can more easily address. This process of breaking down problems enables us to analyze the different aspects of them, ground our thinking, and guide ourselves to an end point.
Examples of Decomposition in Everyday Life
Decomposition is something we inherently do in our daily lives, even if we don’t realize it.
If you hosted a holiday dinner, you used decomposition to select the menu, enlist support from others in the kitchen, task people with what to bring, determine the process by which to cook the different elements, and set the time for the event.
If you went to the grocery store for said holiday dinner you used decomposition to build your grocery list, guide the direction you took as you meandered the aisles, the route you followed to and from the store, and the vehicle in which you drove.
If you’ve implemented a new program or initiative at your school, you used decomposition to build your strategic plan, which included the program’s vision, strategy for gaining buy-in, annual goals, and everything else involved.
Examples of Decomposition in Curriculum
Indeed, decomposition is a powerful tool that guides how we approach projects and tasks regularly. And it is also something employed in student learning. Here are some examples for accentuating these in curriculum.
English Language Arts: Students analyze themes in a text by first answering: Who is the protagonist and antagonist? Where is the setting? What is the conflict? What is the resolution?
Mathematics: Students find the area of different shapes by decomposing them into triangles.
Science: Students research the different organs in order to understand how the human body digests food.
Social Studies: Students explore a different culture by studying the traditions, history, and norms that comprise it.
Languages: Students learn about sentence structure in a foreign language by breaking it down into different parts like subject, verb, and object.
Arts: Students work to build the set for a play by reviewing the scenes to determine their setting and prop needs.
Examples of Decomposition in Computer Science
Then, from a computer science and coding perspective, decomposition can come into play when students are programming a new game. For example, students need to consider the characters, setting, and plot, as well as consider how different actions will take place, how it will be deployed, and so much more.
It’s hopefully clear that decomposition is deeply ingrained in how we function daily and address problems both big and small. The concept already exists with students, but students need to learn how to recognize this process as it happens and leverage it when they feel overwhelmed in the case of a problem, task, or project. Decomposition teaches students embrace ambiguity and equips them with the confidence to learn new things.
What's Next? Check out our articles on pattern recognition, abstraction, and algorithmic thinking.