Decoding Computational Thinking: A Guide for Every Classroom
Breaking down complicated problems, grasping their meaning, and developing possible solutions.
What is Computational Thinking?
If you ask any computer science teacher this question, you might get a variety of answers. In this post, we will decode (pun intended!) what computational thinking is and how it can be used with students in computer science and any content area.
Computational thinking helps us break down complicated problems, grasp their meaning, and develop possible solutions. We can then explain these solutions in a way that both computers and people can understand.
Contrary to popular belief, thinking computationally is NOT necessarily programming or coding. It’s not “thinking like a computer” — because computers can’t and don’t think. Computational thinking can take place without a computer!
The 4 Parts of Computational Thinking
Without realizing it, you probably already do parts of the computational thinking framework in your computer science or other content area classes. Understanding the framework can help you be more intentional when planning and delivering lessons where students need to solve complex problems. You can also share the terminology with students so they can have a process and understand their thinking while learning.
Decomposition
Decomposition is breaking down a complex problem or system into smaller, more manageable parts.
Pattern recognition
Pattern recognition is looking for similarities among and within problems.
Abstraction
Abstraction is focusing on the crucial information only, ignoring irrelevant details.
Algorithms
Algorithms are step-by-step solutions to a problem or the rules to follow to solve a problem.
Let’s consider the example of planning a surprise birthday party for a friend to illustrate the four parts of computational thinking.
Decomposition: What are the smaller tasks when planning a surprise birthday party?
- Choose a theme for the party.
- Create a guest list.
- Select a venue.
- Plan the menu and order food.
- Organize entertainment (e.g., music, games, etc.).
- Purchase decorations.
- Coordinate transportation if needed.
- Plan a surprise element.
Pattern Recognition: What do all parties have in common that can help to plan a surprise birthday party?
- Similar steps for organizing events (choosing a theme, creating a guest list)
- Consistent need for coordination (venue, transportation, entertainment)
- Common elements in party planning (decorations, food, surprises)
- Recognize recurring themes in past successful parties for inspiration
Abstraction: What are the essential aspects of planning a surprise birthday party and are there any unnecessary details that can be ignored or delegated to someone else?
- Does it matter what color the balloons are?
- Will a general menu work so that you don’t have to get into the details of each food item?
- Delegate specific tasks, such as decorations or menu planning, to others based on their expertise.
Algorithm Design: What are the step-by-step set of instructions for planning a surprise birthday party, in general?
- Choose a theme for the party.
- Create a guest list and send invitations.
- Select a venue and plan the menu.
- Coordinate transportation if needed.
- Order decorations and plan entertainment.
- Set up the surprise element.
- Execute the plan on the day of the party.
- Enjoy and celebrate!
Decoding computational thinking is like finding the cheat codes for problem-solving. Whether you’re planning a surprise party or navigating other subjects, think of it as your academic superhero toolkit. So, unleash the power of decomposition, pattern recognition, abstraction, and algorithm design in your classroom. It’s your key to leveling up in any subject when solving complex scenarios. Happy decoding!
Throughout the year, CodeHS offers a variety of free professional development events that cover topics like this. If you’re interested in attending, be sure to visit codehs.com/freepd to view the full list of events and register today!