Computational thinking (CT) is an approach to problem solving. It involves the breaking down of a problem into smaller chunks, working on them individually and finally bringing them together to provide a solution to the problem at hand. Though often confused with computer science, CT differs in being a way of thinking rather than necessarily involving the use of computers to study computation and its application. CT need not always involve the use of a programming language, whereas a computer science application would. Therefore, one need not necessarily be a computer scientist or a computer science teacher to employ CT; it is a skill that might benefit all.
How to integrate Computational Thinking with the curriculum?
Computational thinking can be integrated with all subjects, be it the sciences or humanities. For this, instead of approaching a concept or lesson directly, they could be introduced by means of an exercise or a project involving some problem. The following elements of computational thinking shed light on how this could be achieved:
- Decomposition — Decomposition involves the breaking down of a problem into smaller manageable components, each of which could be worked upon individually, one at a time. Suppose you were taking a lesson on literature of World War I, you could explain the sociocultural and political environment of the time and then go on to discuss the dominant themes and structure in the literature of that period. Or, you could employ CT and ask students to analyse a poem of the period by analysing all the different elements — metre, diction, rhyme pattern, etc. Then, all of these could be put together to derive meaning. With this understanding in place, you could continue the lesson. The quintessential nature of that particular literature would make more sense.
In Maths, for instance, a lesson in profit, loss and discount could involve a real-life problem centred on travelling to some destination. The different steps involved in the whole problem — expenditure incurred in booking tickets, discounts obtained, money spent on shopping, etc., could form different components, all of which could be solved separately to find the final solution to the problem.
- Pattern Recognition and Abstraction — While pattern recognition involves identifying patterns and trends in a set of data, abstraction or pattern generalisation involves identification of the general principles or rules that produce a set of patterns. The insights obtained could be used to find out solutions to the given problems. For instance, the economic data of a country could be analysed by students to identify the patterns in the rise or fall of the economy. The patterns could then help students form an understanding about the factors that cause an economy’s growth or decline. In geography, students can study instances of earthquake occurrences in a particular area to figure out the geographical conditions which trigger them. Instead of the rules leading to conclusions, students could devise rules from the conclusions, thereby attaining a greater degree of clarity on the concepts.
- Algorithmic Design — Algorithmic design implies formulating a set of instructions for step-by-step solution of the present problem as well as other problems of a similar kind. For instance, if as part of a Science Technology Engineering and Mathematics (STEM) project, students were required to make a simple robot, all the steps required in fashioning it will constitute elements of algorithmic design. The instructions might also be shared with other students who embark on a similar project.
Blending computational thinking with the academic subjects fosters a better understanding of the concepts as students actively involve them in the learning process and solve problems based on their lessons. By employing such elements inside the classroom, they might also go on to apply them to understand everyday phenomenon. While this would remove the disconnect between academics and real-life, it would also help students become creators of knowledge who are able to find and give meaning to patterns and problems.