Computational thinking (CT) is an essential set of skills required for success in the 21st Century. Wikipedia defines computational thinking as “a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute.” The four problem-solving methods are problem decomposition, pattern recognition, abstraction, and algorithms.
But what does this all mean? An easy way to understand this concept is to relate it to thinking like a computer scientist. When creating computer programs, computer scientists need to understand the problem and break it into smaller pieces. They then look for patterns within each of the elements and identify the critical components. The final step is to create a program or code that solves the problem.
Another way to understand computational thinking is to see it in action. This YouTube video shared by Google for Education features Google software engineers describing how they use computational thinking to develop Google Earth. This video is perfect for sharing with students to help them understand how computational thinking skills solved the problem of how to place Pegman onto Google Maps in the most appropriate places.
The International Society for Technology in Education (ISTE) has an excellent resource for incorporating computational thinking into classrooms: a 69-page toolkit designed to demonstrate to educators across all disciplines and content areas how to recognize and highlight the current use of CT in their everyday practice. In addition, this toolkit provides vocabulary and a progression chart that shows skills that develop through the different grade levels. The most comprehensive portions of the guide are the Computational Thinking Learning Experiences (CTLE’s). These share prototypes of learning experiences that include a learning activity with support from the “Guide on the Side,” which shares skills and dispositions associated with the lesson, correlation to CT skills, and highlights the featured vocabulary.
Some highlights from the toolkit include:
- Growing Plants (grades K–2) – This interdisciplinary learning experience begins with a lesson on growing plants and incorporates math, social-emotional learning, and literature. The CT method featured is abstraction–learning how to reduce a complex problem into the main idea. It also features a series of questions that guide students toward learning why computers commonly perform repetitive tasks.
- Food Chain (grade 4) – This experience features the skill of representing data through algorithmic thinking. Students explore the different levels of food chains to determine how various factors affect the balance of the food chain. Students use Scratch (reviewed here) to properly create commands to run a short program that demonstrates their understanding of different impacts within a food chain.
- Research Skills (grades 6–8) – Students research how search engines provide results by using various types of searches and evaluating search results. Using their findings, they work together to assess and understand the algorithmic process used to give results.
- Traffic Jam (Grades 9–12) – This interdisciplinary project incorporates writing, math, science, and social studies standards in a small group project. Students define a complex traffic problem in their community, then use the skill of problem decomposition to identify variables causing the obstacles. Small groups then collect and research each variable to determine possible solutions based on their effect upon the other interconnected variables specified.
Consider sharing this toolkit with peers to use for professional development. In addition to the basic information and vocabulary terms for understanding CT, it also provides an excellent starting point for including CT skills in all classrooms through shared activities. At the end of the guide, there is also a page with additional resources to help you learn more about CT.
This set of free posters from BrainPop provides definitions and examples of the different computational thinking skills as a visual reminder. Print and share them in your classroom, or have students create posters to demonstrate CT skills as they learn them. Ask students to create interactive images using Genially (reviewed here) that include links to audio descriptions of each skill and student-created examples.
Focused teaching of computational skills provides students with tools that lead to improved problem-solving skills and innovative thinking. In addition, it gives students the power to recognize they can apply their prior knowledge to new information and problems. Finally, providing students with skills to articulate issues and think logically is a life skill that helps build more effective communicators, critical thinkers, and planners.
How do you incorporate computational thinking into your lessons? Share your ideas and suggestions in the comments so we can learn together!