What is Computational Thinking? Explained through peanut butter jelly sandwich making activity at Harvard!
Computational Thinking(CT) is a thought process that we apply in our daily lives to solve problems. It involves planning the solution to the problem and expressing it in such a systematic way that any human or device can carry it out.
First, let’s see how we apply computational thinking in our daily lives?
Let’s look at the simplest example. If you want your child to open the door how are you going to explain it to him/her in simple steps:
- If you are sitting then get up.
- Walk to the door.
- Twist the knob to open the lock.
- Pull/push the door to open it.
Now, we humans are intelligent and make assumptions, so if you want your kid to open the door you would simply ask “Can you open the door?” and you would not have to explain it to him/her in multiple steps. But contrary to that, machines and robots are dumb. It is we humans who provide them with artificial intelligence on which they operate. Machines make no assumptions, they have to be provided with extremely precise steps to be followed and failing to do that would result in unexpected erroneous behaviors.
Watch the below interesting video where a professor at Harvard University explains the importance of how important it is to provide a computer with exact and detailed steps so as to make them perform as intended. The activity involves simple peanut butter and jelly sandwich making activity but the catch is that the participants have to think like a computer i.e. taking instructions in a very literal way.
The above clip comes from the 2018 edition of Harvard’s famous CS50 course which aims at teaching Computer Science to students from non-technical backgrounds. This video is an entertaining way to explain why step-by-step instructions or algorithms are a vital part of computer programs and we need computational thinking to program a computer.
So, in simple terms, computational thinking means thinking or solving problems like computer scientists. CT is not programming but it comes even before programming. We need CT to design the steps of a solution which could be given to computers so as to get the task at hand done.
So, What are the stages of computational thinking?
Computational thinking is a 4 step process which involves:
- Decomposition - Breaking down complex problems into smaller more manageable parts.
- Pattern Recognition - Identifying trends or similarities with a problem.
- Abstraction - Focusing on important details that are relevant in solving the problem and ignoring the non-relevant information.
- Algorithm design - Develop step-by-step instructions for solving the problem.
Thus, CT involves formulating a solution by applying the above four skills. This kind of logical and algorithmic procedure gives us a solution that is generalized and understandable by any human or machine.
Jeannette M. Wing, a distinguished Computer Science researcher, in 2006 in one of her articles at ACM, quoted CT as “A way that humans, not computers, think. Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative. We, humans, make computers exciting.” In the article, she also explains that CT is a skill set that is useful across multiple fields and not just Computer Science. Today, companies that require CT as a skill span across multiple fields like medicine, finance, manufacturing, arts and so on.
Thus computational thinking is an integral part of computer science but not limited to it. Our future generations must be equipped with the ability to think computationally as it would make them real-world problem-solvers and help them mold their own and the society’s future.