by Ann Gadzikowski
The following is a reprint of an article that was published in Early Insights on February 2, 2019.
Attitudes about the role of technology in early childhood tend to be unnecessarily polarized. On one side are those who believe we must protect children from technology because of the potential dangers of exposing children to too much screen time and an unsupervised internet. On the other side are those who believe that children will benefit from using the newest technology early and often, so they will grow to be savvier and smarter than the previous generation.
My position is much more balanced. As an early childhood educator experienced in both traditional constructivist learning and progressive computer science curriculum development, I believe we can be both careful and creative in the ways we introduce children to technology and teach them about computer science.
What is computational thinking?
Instead of teaching children about specific programming languages and hardware, schools must prepare children to think with creativity, complexity, and logic. The key to building a computer science literate society is teaching our children computation thinking skills, starting in early childhood. But what is computational thinking?
The K-12 Computer Science Framework, in consultation with the Computational Thinking Task Force of the Computer Science Teachers Association, describes computational thinking as the thought processes involved in solving problems, specifically problems that can be expressed as steps or algorithms that can be carried out by a computer. We don’t need a computer to use computational thinking, but we do need computational thinking to program a computer!
Generally, computational thinking is understood to be a combination of four skill categories:
- Pattern recognition
- Creating and using algorithms
- Decomposition
- Understanding abstractions
Pattern recognition is the process of identifying, defining, extending, and creating patterns. Pattern recognition requires the classification of data. For example, a preschooler learns pattern recognition when she sorts blocks according to attributes like shape or color.
An algorithm is a set of steps that solve a problem. Programming a computer and solving an algebraic proof involves creating and using algorithms. Everyday tasks, like sewing a button on a shirt or baking a pie also involve creating and using algorithms in the form of step by step instructions.
Decomposition is an analytical process that involves breaking something down into smaller parts. In mathematics, for example, we can decompose a number like 456 by breaking it down according to place value — hundreds, tens, and ones. Pretty much any problem-solving task involves taking something big and complex and figuring out how to break, separate, or divide a large thing into smaller things.
An abstraction is something that exists only as an idea. Understanding abstractions requires us to make generalizations, draw conclusions, and use other problem-solving thought processes to imagine something that we can’t see or touch.
Teaching computational thinking in early childhood
Of these four categories of computational thinking — pattern recognition, creating and using algorithms, decomposition, and understanding abstractions — there is only one category that cannot be easily integrated into an early childhood curriculum. Understanding abstractions is a particularly high level thinking skill that most young children are not able to master in preschool. The theory of child development created by Jean Piaget tells us that young children learn through their senses, through movement, and by manipulating tangible objects. Almost all learning moves from the physical to the mental, from the real to the imagined, from the concrete to the abstract. For example, we learn to count to ten by touching and extending the fingers on our two hands. Later, we can imagine the concept of ten in a variety of ways — as a numeral, as a digit, as a decade, as a design.
This is why block play is so important in early childhood. Computational thinking is born in the preschool block corner. As children build towers, roads, forts and bridge using blocks of calibrated shapes and sizes, they gain experience recognizing and creating patterns using attributes such as shape and size. When one child seeks to imitate another child’s building project (“I like your house. How did you make it?”) they are creating and using algorithms. When the block structures inevitably tumble and the blocks scatter across the floor, the children learn decomposition as they use their own small hands to sort the blocks into piles and return them to the shelves.
Block building, however, is not abstract. The children are touching, lifting, holding, balancing, and, in many cases, knocking over physical, tangible objects. And that’s the real and essential beauty of the whole experience. By engaging in block play, children are literally laying the foundation for computational thinking. Children must have these tactile and kinesthetic experiences with real objects in the real world in order to prepare them for the abstract and virtual experiences they will have later as they learn to use and program computers and robots.
Begin with spatial reasoning
The child building with wooden blocks (or LEGO!) today will be programming and using computers in a future we can hardly imagine and predict. What can we teach children now, when they are very young, that will build a foundation of skills and knowledge that will help them become creative problem-solvers? Computational thinking is the goal, but how do we help children make the leap from tangible problem solving in a physical world to abstract problem solving in a virtual world? The answers to these questions can, in part, be provided by small plastic robots.
Five years ago, when I began developing coding and robotics curricula for young children at Northwestern University’s Center for Talent Development, teaching robots for preschool classrooms was a rare find. Among the pioneers in this area are the KIBO robot from Kinderlab Robotics, the Bee-Bot from Terrapin Software, and Cubetto from Primo Toys. Now there are dozens on the market, some better than others, but the one thing all these little robots have in common is that they are all travelers. Children learn to code by programming the robot to navigate from one point to another. In the case of the KIBO, children literally build an algorithm by lining up programming blocks in a particular order. One block represents a “move forward” command, another a “turn right” command. Similarly, the Bee-Bot is programming using buttons along the spine of the robot and the Cubetto is programmed by placing pegs in a pegboard. In each case the children are programming the robot to navigate a path, and in doing so they are practicing spatial reasoning.
Spatial reasoning is ability to think about the way objects exist and move through space. I believe that a focus on spatial reasoning in early childhood is an important way to plant the seeds of computational thinking. Understanding how robots, blocks, and their own bodies move through space, navigate obstacles, and align with other objects, will help children learn to extend their thinking from the tangible to the abstract.
Using, making, and imagining maps
The importance of spatial reasoning in the development of computational thinking can be illustrated, literally, through children’s use of maps in play and learning. When children construct a miniature city in the block corner, they have essentially created a three dimensional map. When children program a Cubetto robot to move from one corner of the rug to the other, they must use the rug like a grid map. These playful problem-solving experiences involve the using, making, and imagining of maps.
As an early childhood educator with a keen interest in blocks, robots, and maps, I am increasingly fascinated by the ways that spatial reasoning opens doors to computation thinking. In my current work I find myself playing with analogies that pair the tangible with the virtual:
- Robots are to coding as blocks are to spatial reasoning.
2. Spatial reasoning is to computational thinking as an abacus is to a calculator.
In a scene from Joyce Hesselberth’s Mapping Sam, a picture book, a cat named Sam explores her neighborhood at night. Sam’s adventures are represented through a series of colorfully illustrated maps incorporating a variety of styles and techniques including a star chart, a blueprint, and a topographical map. My favorite is the map of a water molecule, shown on the page that illustrates Sam’s stop by the local pond. In this map we see two hydrogen atoms and one oxygen atom. In this lovely example of decomposition, Hesselberth writes, simply, “There are many, many water molecules in a single drop of water.” The enormous potential of each child to explore and learn about the complexities of our world are just as deep and profound as Sam’s pond.
Recent Comments