What is Computational Thinking (CT)?
Mitch Resnick and Jeanette M. Wing are the two main people who best describe Computational Thinking (CT).
Mitch Resnick, Director of the Lifelong Kindergarten group at the MIT Media Lab and creator of Scratch published this paper with Karen Brennan in 2012. Computational thinking has three main parts: Concepts, Practices, and Perspectives.
- Concepts are the actual computer science ideas.
- Practices are the ways of thinking and problem solving.
- Perspectives are beliefs about oneself and having a mindset that is open to being a computer scientist and/or thinking like a computer scientist.
Jeanette M. Wing, head of Computer Science at Carnegie Mellon University, explains Computational Thinking in a 2006 article
Here are Wing’s everyday examples of people using computational thinking:
When your daughter goes to school in the morning, she puts in her backpack the things she needs for the day; that’s prefetching and caching.
When your son loses his mittens, you suggest he retrace his steps; that’s back- tracking.
At what point do you stop renting skis and buy yourself a pair?; that’s online algorithms.
How do Completely Automated Public Turing Test(s) to Tell Computers and Humans Apart, or CAPTCHAs, authenticate humans?; that’s exploiting the difficulty of solving hard AI problems to foil computing agents.
Prefetching and caching, back-tracking, algorithms, and solving AI problems are all computer science concepts. All this takes place in your daily life.
Wing suggests that computational thinking is not just about programming computers but thinking like a computer scientist. A computer scientist is a creative human problem solver that thinks with computers, not a boring human who tries to think like a computer, says Wing.
Who is Teaching Computational Thinking?
As coding and computational thinking have been written into curricula around the world, we are seeing people working to understand what it means. Here is a collection of sites and projects of people making sense of CT.
Coding and CT in the United Kingdom
Computing At School Barefoot (aka CAS Barefoot) is an project in England designed to support primary school teachers to understand and teach computational thinking. Here is how they define and explain CT.
What does it look like in UK schools?
Marc is a teacher and Apple Distinguished Educator in the UK has been integrating coding into his early years curriculum for several years. Here are some examples of the activities he has been doing:
Unplugged Activities February 2, 2015
Programming Apps for Early Years July 13, 2013
He also has a book Enabling Environments: A Computing Curriculum Beginning in Early Years
And, here is a blog post if you are looking for apps for teaching coding from a teacher in the UK.
Coding and CT in the United States
33 states allow students to count computer science courses toward high school graduation.
Google is conducting research in the area of computer science education in the US.
Google has also put together a course on Computational Thinking for Educators.
ISTE has compiled many resources to support educators and parents in understanding CT.
Coding and CT in British Columbia, Canada
British Columbia has recently launched a new curriculum that explicitly includes coding and computational thinking. Coding and CT are found within the new Applied Design, Skills and Technologies (ADST) curriculum, last updated June 27, 2016.
Questions I have about Coding and Computational Thinking:
- Is it a requirement to teach coding in order to teach Computational Thinking?
- In Ontario, should we be teaching computational thinking and coding even if it is not in the curriculum?
- If we decide to teach coding and CT in Ontario, do we have to cut back on something else? If so, what are we cutting back on?
- Many subjects have habits of mind that we are trying to develop in students. In math we want to develop powerful math thinkers, in social studies we want critical thinkers, in language we want to be able to express ideas in sensitive and culturally responsive ways. How does focusing on CT help or hinder these existing habits of mind and ways of thinking that we are already trying to emphasize the in the existing curriculum?
- Computational thinking and algorithmic thinking are all about logic and being highly systematic. Dr. Donna Kotsopoulos has asked whether this is counter to what we have been saying about divergent and creative thinking relating to 21st Century skills. Does computational thinking run in opposition to 21st Century learning ideals? In what ways does computational thinking compliment or detract from the 6Cs: character, citizenship, communication, critical thinking, collaboration, and creativity?
- How often do we lead coding activities that teach coding concepts like sequencing and debugging but do not go deeper into thinking and beliefs? How do we go beyond the pure computer science concepts and into deep thinking?