Coding as Another Language: A New Approach to Teaching Computer Science in Early Childhood
- William Brooke
- Apr 1
- 5 min read
Computer programming is increasingly recognized as an essential skill for the 21st century, with new educational policies and frameworks aiming to prepare students from kindergarten onwards. However, while considerable attention has been given to teaching coding through traditional STEM approaches, Professor Marina Umaschi Bers of Tufts University proposes a different framework in her research paper "Coding as Another Language" (CAL).
Beyond STEM: A Literacy-Based Approach
The traditional approach to teaching computer science has been firmly rooted in STEM disciplines, focusing primarily on problem-solving activities such as navigating mazes using instructional commands. While effective for introducing basic concepts, these puzzle-type approaches often neglect the expressive and communicative functions of programming.
Bers argues that the rationale for teaching computer science should extend beyond workforce preparation to focus on digital citizenship. She highlights that coding is a new literacy, and those who learn to code from a young age will not only participate in the automated economy but will also have a civic voice in a world where algorithms increasingly influence what we see, who we meet, and what we purchase.
The CAL Approach
The CAL approach draws from two key foundations:
- Constructionism, developed by Seymour Papert, which shows that when children create computational projects to express themselves, they encounter powerful ideas from different disciplines
- Literacy instruction research, which provides models for adapting how children learn to read and write
The central principle of CAL is that learning to program involves learning to use a new language (a symbolic system of representation) for communicative and expressive functions.
Six Coding Stages
Bers identifies six developmental stages that young children move through when learning to code with the CAL approach:
1. Emergent Stage
At this stage, children begin to understand what technology is and explore its basic functions. Like emergent literacy, where children are exposed to books and "pretend-read" before they can actually read, children at this stage are immersed in a programming culture.
Example: Four-year-old Jenny receives a tablet with ScratchJr in her preschool. Her teacher shows the class how to care for the tablet, launch the app, and explains the basic interface. The teacher demonstrates how to add a character (an elephant) and program it to walk across the screen and make a noise. Jenny watches in fascination as her teacher shows how different colored blocks make the elephant move in different ways. Though Jenny can't yet program independently, she's being introduced to the concept that symbols (blocks) represent actions.
2. Coding and Decoding Stage
Children learn a limited set of programming symbols (syntax) and grammar rules, understanding that sequences matter and creating simple cause-and-effect programs.
Example: Five-year-old Liana programs the ScratchJr kitten to appear and disappear using a sequence of purple programming blocks. When her teacher notices her excitement, Liana explains she wants the kitten to appear and disappear more times but "ran out of room." Her teacher introduces her to the "Repeat" block, which allows her to create a loop. After some experimentation, Liana figures out how to use the repeat block with a parameter of 20 repetitions, learning not just syntax but also the concept of patterns and modularity.
3. Fluency Stage
Children master the full syntax of the programming language and create complex programs using control structures. They can apply their knowledge to create personally meaningful projects and transition from "learning to code" to "coding to learn."
Example: Maya and Natan, working with KIBO robotics, program their robot to dance the Hokey Pokey. When the robot moves too quickly for their song, they problem-solve by adding additional movement blocks to make each action last longer. They not only demonstrate mastery of KIBO's programming blocks but also apply this knowledge to explore mathematical concepts of pacing and duration. Their fluency allows them to focus on the creative expression of their dance rather than struggling with basic commands.
4. New Knowledge Stage
Children can combine multiple control structures and create nested programs for complex projects. They consolidate debugging skills and learn how to learn new commands independently.
Example: Seven-year-old Madison, who has been programming with ScratchJr for a year, creates a basketball game with multiple players. When she wants the ball to bounce while moving forward, she discovers she can run two programs in parallel—one that makes the ball move right and another that makes it hop. Madison has discovered the fundamental computer science concept of parallelism on her own because she was motivated to make her basketball simulation more realistic. She continues to add crowd noises using sound blocks, incorporating multiple media elements into her project.
5. Multiple Perspectives Stage
Children understand situations from others' points of view and create programs that reflect this understanding, including interactive elements that respond to user input.
Example: Alma and Ben, seven-year-olds at a ScratchJr summer camp, are challenged to create a game for everyone to play. After considerable brainstorming, they develop a multi-tablet "Whack-An-Animal-Noise" game where each tablet displays different animals that make matching sounds when tapped. They program each animal to make a particular noise and arrange twelve tablets on the floor for their classmates to play with. This required them not only to master programming skills but also to design an experience from the user's perspective—a sophisticated understanding of interaction design.
6. Purposefulness Stage
At this highest stage, children skillfully use coding for specific purposes, programming at high levels of abstraction with efficiency and flexibility. They analyze, synthesize, and make judgments based on their programming knowledge.
Example: First-graders Mark and Sarah use their KIBO robotics knowledge to recreate the historic 1925 Iditarod serum run as part of their social studies curriculum. They build and program robots to travel from checkpoint to checkpoint across a floor map of Alaska, carrying "serum" for sick children. Rather than using simple movement commands, they incorporate sensors to detect sound and light, programming the robot to turn on its blue light before moving (signaling the serum is on board) and to shake and turn on its red light before reaching checkpoints (alerting the next team). They apply sophisticated programming approaches because they're already expert KIBO programmers and can focus on expressing their historical knowledge rather than struggling with the code itself.
The CAL Curriculum in Practice
The CAL curriculum is organized around children's books, with each unit containing twelve 1-hour lessons that blend coding and literacy activities. Activities include warm-up games, design challenges, free explorations, writing activities, and technology circles for sharing and reflection. Each unit culminates in an open-ended project that children share with family and friends.
Why This Approach Matters
The CAL approach may help combat stigma associated with STEM disciplines and attract a wider range of children to computer science. By positioning coding as a form of literacy and creative expression rather than merely a technical skill, educators can leverage decades of research on language development and literacy instruction to inform early computer science education.
For educators working with young children, this approach offers a developmentally appropriate framework that embraces children's natural inclination toward creativity, play, and storytelling while building essential skills for the digital age.
The full study can be downloaded here:
.