Have you found yourself wondering what the difference is between Systems Thinking, Design Thinking, and Computational Thinking? Sometimes these feel like buzzwords, and it can be difficult to sort out what’s trendy, what’s useful, and what “this year’s new thing” is. All three of these are indeed buzzy, and useful, and definitely belong in your teacher’s toolbox. What follows is a brief comparison, and an example of how to introduce computational thinking to your students.
Design Thinking and Systems Thinking have been around for a while – in and out of education, and Computational Thinking is now having a moment of its own. But all three of them are here to stay, and for good reason – as schools are teaching students “how to think, not what to think,” we need multiple models to apply for different kinds of problems.
Think Like an Engineer
Design Thinking asks us to consider problems like an inventor, an entrepreneur or an engineer. These are problems for which answers have not yet been designed, and require creativity to generate solutions that meet the very specific needs of the consumer. This is what is meant by “empathizing,” as a step in the Design Process. The approach to this problem depends very much on understanding what the person who holds the problem needs and wants, and adjusting your solution based on feedback from your audience.
Think Like a Scientist
Systems Thinking helps us understand complex networks of interacting subsystems that make up the whole. To understand how something big, like the oceans, or the economy, you must break it down into – not simpler “pieces” – but the cause and effect relationships and feedback loops between components, which are also themselves systems.
Think Like a Computer
Computational Thinking provides us with a logical sequence of steps that guide us to solutions that need to be precise, replicable, efficient, and consistent. To solve these kinds of problems, think of the steps a computer (or a computer programmer) would take to solve them.
While it may at first look like computational thinking is only useful in math (where we compute correct answers to arithmetical problems), this is a thinking strategy that is useful across all disciplines. Furthermore, this thinking style may simply be preferred by some of your students who struggle with the chaos of systems thinking, and the ambiguity of design thinking. Offering the kinds of problems that can utilize computational thinking is a great way to mix it up. Fortunately, there is a wealth of examples across the web to give you inspiration for all content areas. Check out some very useful websites dedicated to teaching computer science to young kids, or coding education sites, for some fun ideas, or try implementing an Hour of Code at your school. But you also don’t have to look much farther than your own toolbox full of fun games, including baseball!, and adapt them to introduce computational thinking concepts. Here’s one example:
In a simple game called “Explorer,” there is a robot and a programmer. The programmer must give the robot motion commands to navigate a maze. You can create the game board using masking tape on the floor or chalk on a blacktop. The robot cannot see the map the programmer has created, and the programmer cannot see the robot. This is a simple game that not only helps students with visualizing 3-D space, and following directional cues, but it also can help you and your students start to discuss the strategies for completing the game successfully (decomposing the path into steps to take, finding time-saving algorithms – saying forward 3 instead of forward forward forward, for example). Another version of the game takes this up a notch in terms of its debriefing potential. Divide your group into two teams lined up at one side of the grid. The first person in line gets to take a turn at attempting the maze. The programmer can say, “safe,” or “blob” (there are no boosts in this version). “Safe” allows them to make a second move. If they hit a blob, they go to the end of their line, and the first person in the second team gets a turn. The teams take turns until someone is able to navigate the maze successfully. The teams may talk, plan, memorize, automate, etc. Encourage students to try to direct their robot, but the robot must decide what to pay attention to and what to ignore. It’s a fun way to discuss examples of each of the different components of computational thinking.
If you have ideas or comments, including ways you have included computational thinking in your class, please share them below to join the conversation!