I had an “Ah-ha!” moment this week. You know, one of those moments when you connect the dots or it feels like a light bulb had just been switched on in your brain. Previously when I heard the term computational thinking it was usually in the same conversation as computer science. So I had believed that computational thinking was part of the computer programming process. However, after learning more about ISTE student standard 5 this week, I found out that the two are frequently used together but are two separate things.
At a glance:
Computational Thinking (CT)- The term was originally coined by Jeanette Wing in 2006 who describes CT as a way of “solving problems, designing systems, and understanding human behavior by drawing on the concepts fundamental to computer science” (Barr & Conery, 2011, p. 20). In short, it’s a problem-solving process.
Computer Science (CS)- “An academic discipline involving the study of computation and it’s application using computers” (Peru, Robotec. (2016, Oct. 26th). What is Computational Thinking [Video]. YouTube. https://www.youtube.com/watch?v=GJKzkVZcozc&feature=youtu.be )
Let’s dig in deeper:
So what is computational thinking?
In a Google education video, What is Computational Thinking (2016), they explain that “Computational Thinking is a way we go about tackling problems”. You take a big problem, break it down into smaller pieces, work on those pieces individually and then bring it back together in order to solve something. CT should be used in every classroom and across disciplines. Jeanette Wing argued that computational thinking was a fundamental skill for everyone- not just computer scientists. We can help equip our students to solve big ambiguous open-ended tasks in the real world by helping them learn how to use computational thinking.
Code.org uses student-friendly language and calls computational thinking “Thinking tricks”, or unique ways of looking at and solving problems. There are four distinct steps to computational thinking:
- Break a problem down into smaller pieces
- This helps students feel like they can manage the problem and be successful
- Finding similarities between things
- Once you figure out what things are the same you can pull out the things that are different (aka abstraction)
- Create a list of steps that you can follow to finish a task
So to better understand the four steps of computational thinking let’s examine the following scenario given by BBC’s Bitesize article titled “Introduction to Computational Thinking”:
“For example, if you agree to meet your friends somewhere you have never been before, you would probably plan your route before you step out of your house. You might consider the routes available and which route is ‘best’ – this might be the route that is the shortest, the quickest, or the one which goes past your favourite shop on the way. You’d then follow the step-by-step directions to get there. In this case, the planning part is like computational thinking, and following the directions is like programming.”
When thinking through the problem you used the four steps of computational thinking probably without realizing it!
- First, you thought through all the important factors (routes, traffic, stops along the way) – decomposition
- Next, you decided which factors were the most important and focused on those (i.e. the traffic) – abstraction
- You used your knowledge from previous similar experiences – pattern recognition
- Then finally, you determined the steps needed to get to the destination –the algorithm
Some teachers might be intimidated to try using computational thinking in their classrooms, but this problem-solving process can be used in any subject! The more we use computational thinking skills in non-traditional settings, the more students will internalize and be able to transfer to other areas of their lives (Barr & Conery, 2011, p. 22) The International Society for Technology in Education (ISTE) has a wonderful resource for teachers to help them purposefully teach computational thinking to their students. One of their examples of using CT in a primary classroom is asking your students to give you directions on how to make a peanut butter and jelly sandwich. With the needed supplies, act out each step of their directions, allowing them to change their instructions based on your actions. Students will hopefully see the importance of sequencing and giving clear steps. Afterward, discuss with your class vocations that need to follow or communicate steps clearly such as police officers, chefs, or scientists. This activity has students think through the following CT skills and dispositions:
- Automating solutions through algorithmic thinking.
- Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources.
- Generalizing and transferring this problem-solving process to a wide variety of problems.
- Tolerance for ambiguity (CT disposition).
Along with the obvious benefits of equipping our students with the skills needed to solve open-ended problems, computational thinking also teaches students to embody the following dispositions and attitudes (Barr & Conery, 2011, p. 21):
- Confidence in dealing with complexity
- Persistence in working with difficult problems
- Tolerance for ambiguity
- The ability to deal with open-ended problems
- The ability to communicate and work with others to achieve a common goal or solution
So how can we encourage hesitant teachers to start purposefully incorporating computational thinking into their classroom? If they are feeling a bit overwhelmed and don’t know where to start, suggest doing a read-aloud or playing games with their students that introduce computational thinking and other computer science skills. Learning through play is one of the best ways! It is a great place to start to practice those computational thinking skills such as breaking problems into component parts, extracting key information, and developing a plan to solve a problem. Check out the following books and boardgames that introduce children to computational thinking.
“Computational Fairy Tales introduces principles of computational thinking, illustrating high-level computer science concepts, the motivation behind them, and their application in a non-computer—fairy tale—domain. The goal of this book is not to provide comprehensive coverage of each topic, but rather to provide a high-level overview of the breadth and excitement of computer science.”
“Meet Ruby―a small girl with a huge imagination, and the determination to solve any puzzle. As Ruby stomps around her world making new friends, including the Wise Snow Leopard, the Friendly Foxes, and the Messy Robots, kids will be introduced to the fundamentals of computational thinking, like how to break big problems into small ones, create step-by-step plans, look for patterns and think outside the box through storytelling. Then, these basic concepts at the core of coding and programming will be reinforced through fun playful exercises and activities that encourage exploration and creativity.”
Secret Coders (a graphic novel series)
“Welcome to Stately Academy, a school which is just crawling with mysteries to be solved! The founder of the school left many clues and puzzles to challenge his enterprising students. Using their wits and their growing prowess with coding, Hopper and her friend Eni are going to solve the mystery of Stately Academy no matter what it takes!”
A game for young kids (4+) to learn key programming principles. Children write programs with playing cards to move their turtles from point A to point B.
The goal is to create a program (algorithm) that will lead your avatar to collect a series of crystals. “This fun adventure game builds planning, sequential reasoning, and problem-solving skills in addition to teaching more complex coding concepts such as loops and conditional branching. It’s an offline approach that will get players of all ages to take their first step in becoming true Code Masters.”
“Welcome to Code Monkey Island, the board game designed to teach players of all ages computer science logic! As the wise leader of your own tribe of monkeys, it’s up to you to guide all three of your monkeys safely around the board and into the banana grove. You’ll have to use concepts like conditional statements, looping, booleans, assignment operators and more to earn moves for your monkeys, dodge quicksand traps, and score some delicious fruit along the way!”
Also, look for CT resources online:
- Code.org’s lessons on teaching the four steps to computational thinking.
- ISTE’s CT Teacher Resource
- Work with your grade-level partners or PLC teams. We shouldn’t try and carry the burden alone!
I’d love to hear more about how you use computational thinking in your classroom by sharing in the comments below.
Barr, D., Harrison, J., & Conery, L. (2011). Computational thinking: A digital age skill for everyone. Learning & Leading with Technology, 38(6), 20-23.
Code.org. (2015, Oct. 2nd). Unplugged- Computational Thinking [Video]. YouTube. https://www.youtube.com/watch?v=TlAaklrolA0
Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43.
Introduction to Computational Thinking. (n.d.). Bitesize- BBC. https://www.bbc.co.uk/bitesize/guides/zp92mp3/revision/2
Kiang, D. (2014). 3 ways coding and gaming can enhance learning. Edutopia. Retrieved from http://www.edutopia.org/blog/coding-and-gaming-enhance-learning-Douglas-kiang
Peru, Robotec. (2016, Oct. 26th). What is Computational Thinking [Video]. YouTube. https://www.youtube.com/watch?v=GJKzkVZcozc&feature=youtu.be
Sykora, Carolyn. (2014, Sept. 11th). Computational Thinking For All. ISTE. ps://www.iste.org/explore/Solutions/Computational-thinking-for-all