A phrase that you hear a lot in the CS education community is “computational thinking.” Let’s explore what computational thinking is and what it isn’t.
The term was first used by Seymour Papert, a well-known figure in CS Ed history as the maker of the Logo programming language.
One question that you hear a lot is the following:
Does coding mean computational thinking?
And the answer is- No, not exactly! Coding is one way that computational thinking can be expressed. On the other hand, some coding be involve solving trivial problems–something that would not fit the definition of computational thinking.
Here at Penjee we have purposely tried to create a curriculum that involves solving problems, so we would like to think that our site fosters computational thinking.
CSTA’s Definition of Computational Thinking
The CSTA (Computer Science Teachers Association) has has released a downloadable pdf on the topic. You can access it directly on the CSTA site here .
The CSTA sites the following aspects of computational thinking:
- Involves solving problems with computers
- doing this efficiently and effectively
- Using logic
- Analyzing data and information.
- Abstracting and generalize the above problem solving process
A member of the CSTA’s committee on Computational Thinking, Eric Snow, was asked the following question:
How would you define ‘computational thinking to a third grader’ ?
You can hear his response as well as other discussions about Computational Thinking in the YouTube video below. The most important excerpts are quoted below:
- “being a computational thinker means learning how to use computers…and certain ways of thinking to solve problems”
- “if I were to provide a bit more detail, I would say something like…computational thinking is not just
about knowing about things like computers or coding or programming … It’s really about knowing how to use your knowledge of these things to solve challenging problems.”
- “And I really try to emphasize problem solving …using certain types of tools and thinking”
The Full Video.
The take away, we believe, is that computational thinking focuses on the process of solving problems and that the specific tool does not matter. The tool simply must have a computer context. Sure, the tool typically is a programming language on a computer, but using the computer in and of itself (even to do coding) does not necessitate computational thinking, any more than typing on a typewriter necessitates the creative process of writing a fiction. Typing on a typewriter is just an action using a tool. If you’re typing on a typewriter, you could be doing some data entry. In the same way: if you’re typing into a code editor, you’re not necessarily participating in computational thinking. You might just be using a tool to do a simple task .
Typing code into an editor becomes computational thinking when you’re solving a problem, and, at this moment of time, your code editor just happens to be your tool of choice.
Does your tool have to be a computer ?
Though computational thinking almost always involves a computers. The fact is : No, you can even completely skip a computer, we think , and use pen and paper to write out an algorithm with pseudocode. As long as you’re engaged in solving nontrivial problems, any of the tool with a computer context satisfies the criteria.
How is computational thinking different from just problem solving?
Problem solving is a very general area, and you can think of computational thinking as a subset of problem solving.
Further reading and resources on computational thinking
- CSTA computational resources and links: This page includes not only the flyer mentioned above, but also other resources including a “delete Computational Thinking Resource Kit, for teachers, as well as information on the computational thinking task force, some of whom are the participants in the above YouTube video.