“Computational thinking will be a fundamental skill used by everyone in the world by the middle of the 21st Century. Just like reading, writing and arithmetic, it is a skill set everyone, not just computer scientists, should be eager to learn and use.” Dr. Jeannette Wing Director of The Center for Computational Thinking at Carnegie Mellon University.
Computational thinking is an approach to solving problems efficiently based on computer science. It is thinking like a computer and using computation to solve real-world problems and it changes the way you think about the world! Computational thinking is currently used in economics, social sciences, law, neuroscience, entertainment, sports, astronomy, medicine, geology, engineering and many other fields.
Computational thinking enhances the learning of any subject for K-12, college students and teachers. How do you teach Computational Thinking? Find opportunities in different subjects to expose children to the defining characteristics of computational thinking:
1. Problem Decomposition
Breaking down a difficult problem into smaller, easier parts is called Problem Decomposition. For example, in science you do a species classification or in language arts you write an outline for story.
2. Pattern Recognition
Identifying similarities or differences in data or information that help us make predictions or lead us to alternatives or short-cuts is called Pattern Recognition. For example, in language arts, you identify patterns in different sentence types.
3. Pattern Abstraction
Pulling out specific differences to make one solution work for multiple problems is called Pattern Abstraction. For example, in social studies, you summarize facts and deduce conclusions from facts.
4. Algorithm Design
Creating a step-by-step strategy to solve a problem or complete a task is called Algorithm Design. Designing an algorithm involves decomposition of problems and identifying patterns to solve problems. For example, in mathematics you do long division factoring.
5. Data Skills
Collecting, analyzing and representing data in meaningful ways is called Data Skills. For example, in a science experiment, you identify a problem, come up with a hypothesis, test and debug, collect, analyze and summarize data to draw conclusions.
Teachers can use these characteristics by taking a framework that has helped solve a problem in social studies and use it to solve a problem in physics. Developing computational thinking will help reinforce learning in different subjects and enhance learning outcomes.
Code.Org has a simple tutorial to teach the concepts of computational thinking. Google for Education has resources that help teachers plan lessons to teach computational thinking.
Research from Dr. Scott Turner at the University of Northampton shows that robotics is an effective way for children to develop their computational thinking, problem solving and programming skills. His work revealed that using robotics increased students’ grades. Robotics is a great learning-by-doing educational tool and robots provide a visual and physical way to see the outcome of problem solving.