We often encourage students to “divide and conquer” when solving problems. However, if we don’t teach or provide students with the appropriate skills needed to most effectively divide and conquer, it limits their opportunities for success, and they may not develop or make meaningful connections to the computational thinking skills of decomposition and algorithmic thinking.
To help students make meaningful connections, you may need to develop your own understanding of decomposition and algorithmic thinking. When you first hear the words decomposition and algorithmic thinking, you might think to yourself, “That really sounds like a math and science thing. I know algorithmic thinking is part of the Common Core math standards, and doesn’t decomposition have something to do with soil?”
Well, you would be partially right. Both decomposition and algorithmic thinking are part of math and science, but they’re also part of our everyday lives, and everyone uses both daily. Algorithms are essentially a list of steps to complete a task. You may have just used an algorithm when you followed a recipe to make dinner, set the table, and then washed dishes. Decomposition is the ability to break down a task, or complex problem, into smaller parts that are more manageable. You may have recently used decomposition when you hosted a meal. You most likely broke it down into subparts: choosing the menu, buying the groceries, cooking the food, setting the table, serving the food, eating, clearing the table, and washing the dishes. When you completed all the subtasks, then the larger task of successfully hosting a meal was officially completed. The process of breaking things down into smaller and more manageable parts, like in the meal-hosting example, may seem simple, and sometimes it can be. However, even though the concept is simple, it can also be challenging to identify how to best subdivide and figure out what strategy will be the most efficient. This skill will be crucial as our students grow and develop into adults. Determining how to best break a problem apart and how to best solve it is a skill that we can and should be helping students develop.
Teachers and students use algorithms and decomposition all the time, oftentimes without even realizing it, which is why it’s so important to provide a clear or intentional connection to these components of computational thinking and how they can improve and help create a standard systematic approach to solving problems. This Algorithms and Decomposition poster provides a list of examples for how different content areas use the computational thinking skills of algorithms and decomposition. Read through the list or find the content area(s) that you teach and think about where algorithms and decomposition already exist and how you might intentionally label them, call them out, and develop ways to bring them even further into the learning.
Extend Your Learning
- Fuzzy Friend Speaks: Empathy and Coding (AVID Open Access)
- Using Stories to Support Computational Thinking (Edutopia)
- Best of Digital Literacy + Computational Thinking for Children (JULES)
- Computational Thinking Competencies (ISTE)
- Supporting African-American Girls in Computer Science Education (CSTA)