Back in 2014, when I was working in the skills development/vocational training sector as a service designer in our office we often had a debate if second languages need to be scraped from schools curriculum and instead by replaced by computation and programming as a language.
From 2014 till date, the debate has been much the same. There are always two ends of a pole that parents, teachers etc. and general public seem to gravitate towards. One end of pole is for those who believe we must protect children from technology because there are potential dangers of exposing children to too much screen time and an unsupervised internet. On the other end of the pole are those who are pro everything tech oriented. They believe that children will benefit from learning to use the newest technology early and often, so they will be more equipped and skilled for the tomorrow.
As an educator I have tried to use the internet and some tech in my classrooms, so i have seen some benefits. It is through this experience that I am going to express some of my views of computational thinking.
What is computational thinking
Before we begin let us understand what we mean by computational thinking.
Computational thinking (CT) is about logic, or logical thinking, meaning it is about understanding how a computer ‘thinks’ and how can one work with it in order to reach a desired goal. Computers are very smart, fast and complex machines but they need to be told what to do and when to do what. For example, lets take a toy robot that can draw. If a child wants a robot to draw a flower. So if a child says to the robot – “Robot draw me a flower”. But there are many types of flowers so the robot is most likely to get confused and draw a bunch of errors, or not the type of flower that you were hoping for. Instead by using logical or computational thinking, we could for example tell the robot to draw a yellow circle in the middle of the A4 page and then draw yellow petals around the circumference of the first yellow circle. These shapes can easily be described by mathematical formulas and so the computer knows what to do with these commands. The better we specify the characteristics of the circle or any other shape, the closer it will be to what you were hoping for. So, the programmer’s skills influence the computer’s output. This is what computational thinking is about and why it is so important to first train programmers or people before we start training .
Why is computational thinking important?
Computational thinking includes many different skills, but the most important skill is the ability to break complex problems into smaller, more comprehensible steps. As we did above when dividing the task of drawing a flowers into many precise commands. Computational thinking requires the following skills to be developed:
Generally, computational thinking is understood to be a combination of four skill categories:
- Pattern recognition
- Creating and using algorithms
Teaching Computational Skills in Pre-School
Each of the categories of skills listed above. Are useful transferable skills that can be used in any profession, but more importantly I think they can be taught without the use of a screen.
Pattern recognition, a crucial aspect of programming, can be taught to kids as your as 2 years or 18 months. Pattern recognition invites kids to analyze similar objects and identify what the objects have in common. You can get kids to pick out different coloured pasta, or Lego blocks and out them in the right categories.
Algorithms are a set of instructions or the sequence of the steps is important. You can teach this concept by acting out or getting kids to describe describing the instructions to almost anything. For example, you might ask the class to describe how to tie shoe laces. What should they do first? Second? and so on.
This will help them learn the concept of sequential processing and develop the foundations of algorithmic thinking. This can be further emphasized by creating a picture cards to the sequenced/instruction to ‘program’ for that activity.
Decomposition is an analytical process that involves breaking something down into smaller parts. The above activity can also be elaborated for the same.
Abstraction, on the other hand is a difficult concept to teach specially to young kids. Abstraction is a concept, that exists only as an idea. Understanding abstractions requires one to make generalizations, draw conclusions,and use other problem-solving thought processes to imagine something that we can not see or touch.
Some of the ideas presented above are actually non-digital, without screen activities. Also much of the content in preschool is taught with hands-on tactile items, games and songs etc. With thoughtful planning schools and educators can develop activities, so that young children can engage in such activities and develop computational thinking in age-appropriate ways.
If you decide to add screen time to the classroom, age-appropriate programming apps and robots are available (will release our list of this in the next post). You can always limit screen time. The American Association of Pediatrics and Common Sense Media offer screen time guidelines and suggestions for each age group.
Preparing Young Minds for the Thinking of the Future
Teaching young students computational thinking strategies, I think, goes far beyond increasing their comfort level with computers or electronic gadgets. We live in a world with smartphones, smart homes, smart cities, smart toys etc. so understanding how devices work allows us to approach technology as a partner to help us solve problems. But more importantly computational thinking allows students to be active, rather than passive, users of technology. The manner in which we understand the technology that surrounds us, and the way we ask questions about these devices, will become a significant differentiator in the 21st-century workforce, and add that “human-touch” that we as adults so often reminisce about already.
PS: You can read more about computational thinking framework for schools at: https://k12cs.org/
Harshada is an experienced design researcher, focusing on working with kids, education pedagogy and educators. She is the editor of Steamdaily bringing to your insights, updates, interviews, and thoughts of the rapidly evolving world of edtech.