The 2020 Science Report authored by scientists from around the world at the turn of the century observed that science is changing in a subtle but fundamental way with the use of computer science (CS or simply computing) to support scientific work and integration of CS concepts into the very fabric of science. From recommendations systems (“you might also like to buy”) while shopping online, to special effects for the film industry, computing is changing the face of diverse businesses in equally dramatic ways. But the big question is does K-12 school education equip all students with the computational skills to become innovators and problem-solvers to succeed in this changing landscape?
There is growing recognition in education systems around the globe that in a world infused with computing, being able to problem-solve computationally, think logically and algorithmically, and model real-world phenomena using computational tools, is rapidly becoming a prerequisite competency for all STEM and allied fields in addition to the core work of computer science. Therefore we need ‘computational thinking’ (or CT) to become a core skill — or ‘5th C’ — taught to all students in addition to the often-prescribed ‘4C’s of 21st century — critical thinking, creativity, collaboration, and communication.
In 2012, the UK National Curriculum programme began introducing CS to students in all grades. Likewise in his 2016 call supporting ‘Computer Science for All’ President Obama echoed the beliefs of many in the education community that children from kindergarten through high school need to be equipped with computational thinking skills required to get by in our tech-driven world. In a similar vein, countries such as Singapore, South Korea, China, (especially Hong Kong), Finland, Australia and New Zealand have launched substantial efforts to introduce some flavour of computational thinking through programming or software engineering, or more broadly computer science, at all levels of school education.
So, what exactly is CT and what is its relationship to CS and programming (aka coding)? Jeanette Wing in a 2006 essay in Communications of the ACM simply titled ‘Computational Thinking’ uses CT as shorthand for “thinking like a computer scientist”, and describes CT as thought processes involved in formulating a problem and expressing its solution(s) in same way that a computer would.
CT is fundamentally about using analytic and algorithmic concepts and strategies to formulate, analyse and solve problems. Problem formulation is a key component of this process. Since conceptualising solutions for problems using CT need not involve a computer, even though the execution of the solution usually does, CT can be taught without the use of computers. The core elements of CT include ideas from computer science abstraction, algorithmic thinking, automation, decomposition, debugging, and generalization. Educators worldwide have found it more convenient to think of CT as a set of concepts (the ‘what’) and practice (the ‘how’). CT concepts include logic and logical thinking; algorithms and algorithmic thinking; patterns and pattern recognition; abstraction and generalization, evaluation and automation. CT practices include problem decomposition; creating computational artefacts (through coding); testing and debugging; iterative refinement (incremental development); collaboration and creativity as well as re-using solutions.
Looking at the elements of CT, it is clear that although coding is closely related to CT, computational thinking is more than programming or coding. Coding is in fact an effective pathway to teaching CT. It’s important to remember however, that coding is not the only way to develop CT. There are many other ‘unplugged’ ways of developing CT skills. For example, analytical and logical thinking skills can be developed through puzzles and word games that require learners to engage with crucial aspects of CT. As a matter of fact, problems involving logical argumentation and logical thinking can be infused into language and arts learning in addition to mathematics and computer science.
Additionally, CT should also not be confused with digital literacy or ICT which is the technology subject in schools that focuses on how to use software, digital tools, and the Internet. CT is not about being a consumer of technology; it lifts the hood on how digital solutions are designed using computational tools and as such moves students beyond operating skills of dealing with software.
CT can be embedded while teaching other subjects, or taught as a separate subject. Most countries are taking the approach of integrating CT into subjects particularly in primary education, while at the secondary level CT is mostly being taught in computer science.
Teacher preparation to teach CT is a key task that schools need to take as a first step. Schools in India would benefit from connecting with networks of teachers and schools internationally to kick start the process. Access to curricula and assessment methodologies, teacher training and development, best practices for teaching CT, and most importantly, becoming part of the global community of educators, are of prime importance to bring this vital 21st century competency to all children.
(Dr. Shuchi Grover, a US-based computer scientist and learning scientist, delivered this keynote address at the EWISRA 2017-18)