This article is Talk 09 of Honest Data Science Talks series. Each talk of around 500 words length, is personal thoughts and deliberations on the domain.
Computational thinking is not about machine thinking. It’s about human thinking. It’s about how to exploit the machine features using the human thinking models (no inventions, they are already there). The problem is that even after decades of computer science degree being offered, the ‘science’ in ‘computer science’ has been all about technology development and automation. There is mathematics, more like an isolated and ignored part of the curriculum, which brawls to add the correlation.
The phrase ‘computational thinking’ has been a household for a while now. The sad reality is that it is often delivered wrongly without understanding the honest meaning of it.
I have seen a university that offers concepts from discrete mathematical structures as computational thinking. I have seen professors talking about problem-solving as computational thinking. However, the idea was actually to formalise and automate the human thinking process into machine models.
Human thinking, which inspires computational thinking, on knowing helps us realise and make effective use of computational capabilities. Computational thinking involves four major steps: decomposition, abstraction, pattern recognition, and algorithms. Decomposition involves breaking down the bigger problem into smaller ones. Pattern recognition helps us to look for similarities among and within the problems. It helps us recognise the internal problem patterns. We abstract the patterns to put through future use. It helps us focus on important information and discard the irrelevant ones. The algorithm brings in the design techniques to further solve the problem. Now, these being very common terms, can easily be misunderstood and misconceived. Oh, they already are.
They have become yet another bunch of concepts, talked, wrongly if I may say and never really utilized.
Have you ever wondered where the computer science principles are? What did we do with so many years of dwelling with machines? Where are the design philosophies? How is the machine design persuading the future of technology? What sits as an underlying principle for everything we study? We fail to question. We fail to seek answers. The theory of computations, the one to be rejoiced and celebrated in computer science, has become an alien course which students struggle to pass. Why and where did we fail? If we don’t know the principles, how can we be prepared for the future? In the rapidly changing society, where every skill needs an upgrade.
A machine can differentiate between a problem space, solution space, exploration space, decision space, design space, etc. and so on. We have only believed that machine has exhaustive computational power and have been using it majorly for training and testing the data. We treat everything to be a black box and ignore the intricate details. All we say is that humans cannot do repeated tasks, whereas its machines favourite routine. By writing the mere difference between a human and machine, we are also limiting the design capabilities of a machine.
Have we been underestimating the science that machines can provide? Or are we in the blind spot? If so, for how many years more?