In this article, I explore how the definition of Computational Thinking could evolve. As Computer Science is introduced in schools, it is tempting to confine it to the ‘curriculum’. However, doing so would miss the larger point of how Computer Science could truly benefit innovation and economies. The article intentionally takes an aspirational view of Computer Science and Computational thinking.
Background – Computer Science and Computational thinking
Computer Science is based on the idea of Computational Thinking. Computational thinking i.e. ‘thinking like a computer scientist’ involves breaking down a problem logically and algorithmically to provide an optimum solution
The use of the word ‘Computer’ in Computer Science gives the mistaken perception that Computer Science is the study of Computers. However, Computer science can be better understood as a process of problem solving using Computers. Thus, while Computers play an important part in understanding Computer Science, the key skill of a Computer Scientist lies in the ability to solve problems using Computers
This definition (Computer Science = Based on Computational Thinking = The process of problem solving using Computers) has some implications.
1) Computer Science is like mathematics. By that, we mean that the problems addressed by Computer Science are often in other Scientific and Technical domains (ex weather forecasting).
2) Also, Computer Science is related to tool making (creating the computing tools and platforms – as opposed to merely using them)
This leads to yet other questions:
1) What type of problems can be solved using Computers?
2) What do we mean by ‘solving’ the problem?
In a nutshell, Computer science is concerned with solving problems that can be defined using an algorithm
In the simplest sense, an algorithm is a step by step set of instructions to solve any instance of a problem. By implication, this means that not all problems can be solved by a Computer. A problem that can be solved by a Computer should be ‘Computable’ i.e. an algorithm must exist for solving it.
Based on the early seminal work done by Jeanette Wing in 2006/2007 – the term computational thinking is used to describe people and computers working together to solve problems and accomplish tasks.
The processes can be executed either by a human or by a machine. Computational thinking (when seen as humans and computers working to solve complex problems) – allow us to solve much more complex problems – for example Genome sequencing. See many more examples in the long version of Jeanette Wing’s presentation. Jeanette Wing believes that Computational thinking is a fundamental skill for everybody, not just for Computer scientists. We should add Computational Thinking to reading, writing, and arithmetic to improve every child’s analytical ability.
Evolution of Computational Thinking
It could be tempting to reduce computational thinking to just another subject to be taught in schools. However, if we take a more aspirational viewpoint (again the examples here are very interesting long version of Jeanette Wing’s presentation) – then the interplay between humans and computers will change the behaviour of both.
A more sweeping definition of Computational Thinking would call for new skills, new ways of thinking and make a radical change to the economies who adopt these principles.
The intriguing question is:
Over the years, how will the thinking of the learners (students) evolve?
Could we end up addressing even more complex problems? i.e. Could Computer Science cause a virtuous cycle towards greater innovation if Computational thinking allows us to address increasingly complex problems over the generations?
A change in our thinking is already happening – for instance studies show that the Internet is changing the way in which humans use memory
So, as humans and Computers collaborate through Computational thinking to solve increasingly complex problems – some tasks will be done better by humans, others better by Computers.
The trick will be in identifying the two domains and combining them to solve complex future problems.
Here are three ways I believe Computational Thinking will evolve
a) The Computer as a prosthetic/ tool building ability of Computational thinking
b) Collective intelligence – Network based intelligence
c) Network based collaboration
1) Tool building and Prosthetics
The first scene from Space Odyssey 2001 shows a group of early hominids who learn tool building and thereby master their environment. If we extend this idea then we can say that – Humans have always been good tool builders – and now using Computational thinking – we are extending this idea to create a whole new class of tools
In this model, we could think of the Computer as an auxiliary brain—as a type of prosthesis. All tools/appliances augment the human body – ex microscope to see better.
Computational thinking can be thought of as using Computers to augment human brain. This concept has been proposed by number of thinkers since the 1980s
2) Collective intelligence – network based intelligence
The idea of Collective intelligence has been proposed by thinkers like Pierre Levy and others.
Collective intelligence or Collective IQ is shared or group intelligence that emerges from the collaboration and competition of many individuals and appears in consensus decision making. The term appears in sociobiology, political science and in context of mass peer review and crowdsourcing applications. It may involve consensus, social capital and formalisms such as voting systems, social media and other means of quantifying mass activity. (Wikipedia)
A more intellectually radical view of Collective Intelligence can be seen as an antidote to capitalism – a return to a more simpler means of working together independent of the desire to make money
Lévy’s visionary anthropology is therefore diametrically opposed to that of the Californian ideologues. Instead of forming a perfect market, the Net opens the space of Knowledge. Crucially, this new space is completely distinct from the space of the Commodity. When we are on-line, we want to learn, play and communicate with one another rather than to make money. Above all, we want to participate within the “collective intelligence” because we suffer from individual alienation caused by capitalism.
3) Network based collaboration
Finally, network based collaboration i.e. the idea of ‘Net Smart’ as postulated by Howard Rheingold.
I reviewed Howard’s book previously – Net Smart – a book review
The book is about – How to use social media intelligently, humanely and mindfully.
Howard sees the ability to engage with cyberculture as a core skill – much like driving a car for the current generation and he proposes that it is not an automatic skill
While we all engage with social media in one way or the other, it is a skill that can be improved.
Further, he sees a time lag between the technology and the social revolution (ex: there was a time lag between print and the social impact due to widespread availability of books).
In that sense, we are living ‘in the time lag’ and the changes that are happening around us will be apparent only in retrospect.
Howard believes that the skill of digital literacy can make a difference between being empowered or manipulated – being serene or being frantic. Furthermore, he sees competency in engaging with cyberspace as a two-fold skill – i.e. the technical competency of using the tools and also the social interaction of engaging with others.
There is a very insightful statement from Howard early on in the book which says that if he were to reduce the essence of homo-sapiens in one sentence it would be “People create new ways to communicate, then use their new media to complicated things together”
It is this ability of ‘creating new ways to communicate and then using that new media to make complicated things together’ – which could be a new way of Computational thinking
Shuchi Grover says in Learning to Code is not enough – Scienceis changing in a subtle but fundamental way--from the use of computing to support scientific work, to integrating Computer Science (CS) concepts and tools into the very fabric of science.
So, in this blog, we explore a deeper meaning of not how Computers will evolve but how human thinking and behaviour could evolve – which is an extension of Computational thinking (process of problem solving using Computers)
Acknowledgements – many thanks to Eelco Dijkstra who I met at Vrije Universitit in Amsterdam for some of the inspiration behind this post and also for recommending the book Herbert Simon – Sciences of the artificial