Programming Education: What Age Is Best to Start?
Why this topic is on your mind
“Programming became compulsory in elementary schools in 2020.” Hearing that, a mother of a 5-year-old may find thoughts like these crossing her mind.
- If it is compulsory in elementary school, won’t my child struggle after starting school unless we prepare beforehand?
- It seems that my child’s friends have already started going to programming classes
- But sitting a 5-year-old in front of a computer: how does that fit with screen time?
- In the first place, is “programming education” about writing code? What can a 5-year-old do?
Bookstores and social media are full of headlines like “Programming starting from preschool” and “The earlier the better for programming thinking”, and many invitations to trial classes come in. At the same time, there are also reasonable questions like “They’ll do it in elementary school, so why start in preschool?” and “Won’t it just increase time in front of a screen?”
To give the conclusion first: as long as you read the research and official materials as they are, there is no need to panic about “having to send my child to classes before school starts”. Still, there are many foundations that families can build in everyday life. This article sets them out.
First, check what “programming education” actually is
When they hear “programming education”, many people picture “writing code” or “typing on a keyboard”. In fact, this is the first misunderstanding.
What the Ministry of Education is aiming for is not “children who can write code”
Guide to Programming Education in Elementary Schools (Third Edition)
sets out the aims of elementary school programming education as follows.
- Nurturing “programming thinking” (the ability to think things through in order and create intended movements through combinations)
- Becoming aware of how programs work and what they are good for, and that the information society is supported by information technology
- Helping children acquire the knowledge they learn in each subject more securely
What it clearly states is that “memorizing a particular programming language or acquiring programming skills is not a goal”. The basic design is to bring programming-like activities into existing subjects such as math and science, as occasions for “thinking things through in order”.
In other words, what elementary schools made compulsory is not “raising children who can write Python” but “nurturing the habit of thinking that breaks down steps, puts them together, tries them out, and fixes them”.
“Computational Thinking”: the ability to think things through in order
The concept behind this “programming thinking” is “Computational Thinking”, proposed in 2006 by Jeannette Wing of Carnegie Mellon University.
An essay published in Communications of the ACM positioning Computational Thinking as “a fundamental thinking skill needed not only by computer scientists but by everyone”
In it, Wing lists elements such as the following.
- Breaking down problems (dividing a big task into small parts)
- Finding patterns (spotting parts that are similar)
- Abstracting (leaving out extra information to get at the essence)
- Putting steps together (creating an intended result through order and conditions)
This is a way of thinking that appears every day even without a computer, for example when thinking about the steps of preparing a lunch box, tidying up, or cooking. The true nature of the ability that “programming education” wants to develop lies on an extension of this everyday thinking.
What does the research say?
Finding 1: Computational Thinking can be developed in early childhood (with screens)
“Computational Thinking? Can a 5-year-old do that?” One of the most cited studies addressing this is the curriculum research on early childhood robotics by Marina Bers and colleagues at Tufts University.
A study in Computers & Education that examined the effect of a computational thinking curriculum using the KIBO robot and the CHERP programming language with young children (ages 4 to 7)
reports that, through a 20-hour curriculum, young children were able to acquire computational thinking skills such as sequencing, predicting the robot’s movements, and debugging (fixing mistakes).
The key point is that the “robot” and “programming language” used here are designed to fit young children’s developmental stage.
- KIBO is a wooden robot for which children create commands by lining up blocks (it does not use a screen)
- CHERP is a language of pictures and physical blocks that even young children who cannot read can operate
In other words, this study did not show “let’s teach Python to 5-year-olds”; it showed that “with tools and activities suited to a 5-year-old’s developmental stage, the ability to think things through in order can be developed”.
Finding 2: It also develops in environments for young children such as ScratchJr
The most widely used visual programming environment for young children is ScratchJr. Jointly developed by the MIT Media Lab and Tufts University’s DevTech Research Group, it is a free app for ages 5 to 7 (available on iPad, Android, and Chromebook).
A study examining how teachers’ teaching styles affect learning outcomes in programming learning with ScratchJr among young children and children in the lower grades of elementary school
shows that children at kindergartens and in the lower grades of elementary schools that introduced ScratchJr came to understand the order of commands, the meaning of symbols, and simple control structures. It also reports that when those teaching took a style of “trying things out together” rather than “giving the answers”, children’s understanding and exploration deepened.
So that children who cannot read can still use it, ScratchJr represents commands as “picture blocks”. It is designed so that children can line up blocks such as “move the character”, “make it jump”, and “play a sound” to make their own stories and games.
What we want to emphasize here is that research has not shown that using an environment like ScratchJr “gives an advantage in the future”. What research shows goes as far as “when children use it, situations in which these abilities develop are observed”; it does not go as far as “compared with children who don’t use it, a difference emerges in future school results or careers”.
Finding 3: The essence of programming learning lies in “creative play”
Mitchel Resnick, who leads the MIT Media Lab’s “Lifelong Kindergarten” group, is also known as the researcher behind Scratch.
‘Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play’, published by MIT Press
proposes positioning programming learning not as “memorizing code” but as an extension of “the creative way of learning that happens in the kindergarten sandbox”. The keywords Resnick offers are “the four Ps”: Projects (making your own projects), Passion (themes you get absorbed in), Peers (together with friends), and Play (in a spirit of play).
From this perspective, when a preschool child is playing like this,
- building a “castle” with blocks
- drawing a scene from a story
- acting out a story with an order to it while “playing house”
they are already doing all of Resnick’s “four Ps”. The core claim of this research tradition is that the essential foundation of programming education already exists within play in the preschool years itself.
How to read the four findings
To sum up, the research and official materials paint the following picture.
- The aim of “programming education” is not the skill of writing code but the ability to think things through in order (MEXT, Wing)
- With tools suited to young children’s developmental stage, computational thinking does develop (Bers et al., Strawhacker et al.)
- Free environments for ages 5 to 7, such as ScratchJr, also exist (MIT, Tufts University)
- The essence of programming learning is continuous with creative play in the preschool years (Resnick)
At present, no research can be found that supports “if children aren’t taught in classes before school starts, they’ll struggle in elementary school”. Rather, research points toward combining everyday play at home and options for ages 5 to 7, without strain.
“Without screens” and “with screens”: both have effects
When thinking about what you can do at home, you don’t have to jump straight to ScratchJr; you can start well enough with activities without screens. The KIBO robot used in Bers and colleagues’ research was also designed without a screen.
Activities you can do without screens
Unplugged
Explain the steps of building with blocks out loud. Try writing a maze route as arrows: 'right, right, up'. Break down the steps of cooking into picture cards and line them up. Robot toys (wooden or electric toys that move by command cards). Sugoroku (a Japanese board game similar to snakes and ladders) and simple strategy board games. 'Mommy robot' play (the child gives commands and the adult moves).
Screen-based options
Screen-based
ScratchJr (for ages 5-7, a free app developed by MIT and Tufts University). Viscuit (a Japanese-made app developed by Harada Yasunori, from age 4). Toys that combine screens and physical objects, such as Code-a-pillar and coding robots. Full Scratch is recommended for ages 8 and up.
What matters from a research standpoint is that neither one is “the real thing”. Both Bers and colleagues and Resnick recommend flexibly combining unplugged activities, screen-based activities, and physical robots to suit children’s developmental stage and interests.
The age guides for materials and activities were compiled by the editorial team based on each material's official information and related research. Children's interests and development vary, and being earlier or later than the guide is not a problem.
Source: ScratchJr official (MIT and Tufts University DevTech Research Group), Viscuit official (Digital Pocket), Bers et al. (2014), MEXT 'Guide to Programming Education in Elementary Schools' (2020)
“Programming play at home” you can do without screens
Following the research, here are some activities that families with preschool children can start without buying special materials.
1. Play that “puts steps into words”
“I’m going to cook now. Shall we decide together what to do first, what to do next, and what to do last?” Just this is already an experience of “putting steps together”.
- Line up the order of taking a bath (take off clothes → wash body → get in the tub → get out → dry off → get dressed) with picture cards
- Try writing the order of getting ready in the morning on a whiteboard together
- Mix “if… then” into conversation, such as “If it rains, we wear rain boots. If it’s sunny, we wear sneakers”
These are the simplest experiences of what Computational Thinking calls “putting steps together” and “conditional branching”. You need no money and no app.
2. “Mommy robot” play
A game in which the child is “the one giving commands” and the adult plays “the robot”.
- The child gives commands such as “three steps to the right”, “one step to the left”, or “raise your arms”
- The adult moves exactly as instructed (with the rule of not doing anything that isn’t in the command)
- The child takes the adult to a destination (the toy box, the front door, etc.) by “program”
This is a typical activity of the “unplugged (no screen) programming” used in Bers and colleagues’ research. The moment the child realizes that “the robot can’t move if the command is vague” becomes their first experience of abstraction and refinement.
3. Mazes, sugoroku, and simple board games
Solving mazes, moving pieces in sugoroku, playing chase-type board games like “cat and mouse”: these become practice in predicting and planning “what to do next”.
- Draw arrows in a maze to make a “route”
- Simple board games that involve thinking one or two moves ahead (a simplified version of Othello, etc.)
- Route-finding games (mark a map and ask “What’s the shortest route from here to here?”)
Even without buying special “programming toys”, the same thinking develops well enough with picture books, puzzles, and board games you have at home.
4. Robot toys (if needed)
If you want to broaden the experience a little more, there are also command-card robot toys that can be used from the preschool years. Typical examples are:
- Code-a-pillar (Fisher-Price, age 3 and up): each segment of the caterpillar is a command such as “forward” or “left/right”, and rearranging them changes how it moves
- KIBO robot (KinderLab Robotics, age 4 and up): children line up wooden blocks with commands written on them and scan the barcodes with the wooden robot
- LEGO building robots for young children (BOOST, WeDo, etc., with age guidance)
All are designed so that children can have the experience of “things move when you put them in order” without using a screen. Prices range from a few thousand yen to tens of thousands of yen, but they are not something where “you’ll fall behind if you don’t buy one before school starts”. It is enough to consider one if your child shows a strong interest in command-type play.
Screen-based options: ScratchJr and Viscuit
For children who have turned 5 and are starting to show interest in letters and symbols, there are also screen-based options. The one most often mentioned in research is ScratchJr, and the one widely used in Japan is Viscuit.
ScratchJr
- Developed by: the MIT Media Lab’s Lifelong Kindergarten Group + Tufts University’s DevTech Research Group + Playful Invention Company
- For: ages 5 to 7
- Price: free (iPad / Android / Chromebook)
- Features: picture blocks that can be used without being able to read. Children move characters, make them jump, play sounds, and make their own stories and games
- Position in research: Bers and colleagues’ research group was involved in its development, and it is one of the central tools in research on young children’s computational thinking
Viscuit
- Developed by: Harada Yasunori (formerly of NTT Basic Research Laboratories) and Digital Pocket
- For: age 4 and up
- Price: free (iPad / Android / web version)
- Features: using a single mechanism called “glasses”, children make pictures move and create games and animations. Children can move pictures they have drawn themselves
- Position in Japan: also referred to in the Ministry of Education’s guide as “an example of material that can be used in preschool and the lower grades of elementary school”
Both are designed as creative play in which “children move their own pictures and make stories”, and can be used in a way close to Resnick’s “four Ps” (Projects, Passion, Peers, Play).
Where it fits within screen time
If you use ScratchJr or Viscuit at home, the device is a tablet or smartphone itself. Both the American Academy of Pediatrics (AAP) and the WHO give a guideline of no more than 1 hour of screen time a day for ages 2 to 5, and it is natural to think of programming apps as “inside” this limit too. For details, please also see the article on screen time (Japanese) and the article on educational apps (Japanese).
Treating them as “a separate allowance because they’re educational” is not supported by research. A realistic middle ground is a balance like reducing videos and using programming apps within that time.
Whether to send your child to a programming class
“Should I send my child to a programming class from preschool?” is a question we often hear. Based on the research and the current situation of classes, here is a frank summary.
Cases where attending a class is likely to help
Likely to help
Your child is already absorbed in creating with robot toys or apps. You want your child to try things you can't provide at home (full robots, 3D printers, etc.). You want your child to experience the class environment of 'making things together with peers' (Resnick's Peers).
Cases where attending a class is not essential
Not necessarily needed
The main motive is 'it's compulsory in elementary school, so we have to prepare'. Your child is not showing any particular interest. Your child is already getting plenty of play with steps and order at home. The burden on the household budget or of taking your child there and back is large.
From the research and official materials, there is no evidence that “attending classes from preschool determines advantages or disadvantages from elementary school on”. The Ministry of Education’s guide also does not require preparation in the preschool years.
On the other hand, if your child shows a strong interest, or wants experiences that are hard to provide at home (building robots, working together with peers, etc.), a class can be meaningful as an option in such cases. The honest summary at present is not “they must attend” but “one option, if it fits your child and family situation”.
Dialogue
My daughter is 5 and will be in the final year of kindergarten from next year. I heard programming has become compulsory in elementary school, and I’m worried she’ll struggle after starting school if we don’t do something before. I often get invitations to trial programming classes, but I also feel some resistance to sitting a 5-year-old in front of a computer.
I understand how you feel. Let me say first that, from reading the Ministry of Education’s guide, the aim of elementary school programming education is to nurture “programming thinking”, in other words “the ability to think things through in order”. The goal isn’t to raise children who can write code.
Really? I assumed it was something like having them type on a keyboard and learn Python…
People often think so, but learning a particular programming language isn’t a goal in elementary school. The design is to bring programming-like activities into math and science as “occasions for thinking things through in order”. And the play your child is doing now, like building a castle with blocks, solving mazes, acting out stories in pretend play, is already a foundation for “the ability to think things through in order”.
Oh, really? So you mean my daughter has already started something?
Yes. A researcher at MIT named Resnick writes that the essence of programming learning is an extension of “the way of learning that happens in the kindergarten sandbox”. Your own project, a theme you get absorbed in, working together with peers, a spirit of play: the idea is that these four matter in both programming and the sandbox. If your child is absorbed in blocks right now, that time is already “building the foundation”.
Hearing that is a big relief. But is there anything extra we should do?
I’ll tell you two things, on the basis that they’re nice to have but fine to skip. One is play without screens. It’s called “Mommy robot” play: your child gives commands like “three steps to the right” or “one step to the left”, and you move as the robot. If you make the rule that the robot can’t move on a vague command, your child realizes, “Oh, the order of commands really matters”.
We could do that even after her bath today.
Yes, you need no money and no app. The other is that, if your child shows interest in making pictures move in an app, there’s an app called ScratchJr. It’s a free app for ages 5 to 7, made jointly by the MIT Media Lab and Tufts University. Even without being able to read, children can line up picture blocks to move characters. But it’s not a case of “she has to do it”; it’s enough to try it together if your child takes to it.
It’s free. So we can try it at home without going to a class.
That’s right. I think it’s fine to go in this order: consider a class once your child is already absorbed and starts wanting experiences you can’t provide at home (full robots or making things together with peers). The honest answer is that “it’s compulsory in elementary school, so classes from preschool” isn’t essential according to the research.
What to do if you actually go ahead
Based on the research and official materials, here is what families can do in the preschool years.
1. Take a fresh look at “the play you are already doing”
Blocks, drawing, pretend play, mazes, sugoroku, board games: these are already the foundations of Computational Thinking. Before “adding something new as preparation for programming”, you can start by consciously putting into words the moments in your current play at home when your child is “thinking about order”.
- Build with blocks while saying “First we put the big one, then the thin one, and last the top”
- When drawing, say the order out loud: “First draw the face, then the hair, then the clothes”
- When tidying up, sort things: “Start with the big toys, then put the small ones on top”
Just saying “Wow, you’re really thinking about the order” makes “being aware of order” part of play for your child.
2. Bring in “Mommy robot” play
A game you can do in a few minutes between chores, after bath time, or before bed. Your child gives the commands, and the adult plays the robot. Making the rule that “the robot can’t move on a vague command” gives a first experience of abstraction and refinement.
- Have your child give clear commands such as “three steps to the right”, “turn left”, or “raise your arms”
- To vague commands like “go over there”, the robot replies “I don’t understand”
- Have your child take you to a destination by “program”
This is a typical unplugged (no screen) activity also recommended by Bers and colleagues’ research group.
3. Robot toys “after seeing your child’s interest”
Command-card robot toys such as Code-a-pillar, KIBO, and LEGO robots for young children are also supported by research as options in the preschool years. However, they are not something where “you’ll fall behind if you don’t buy one before school starts”. It is enough to consider one for a birthday or celebration if your child shows a strong interest in command-type play.
For how to choose educational toys in general, please also see the article on educational toys (Japanese).
4. For screen-based options, “once your child shows interest”, start with free apps
If your child shows interest, saying “I want to make pictures move on Mommy’s tablet”, you can start with free apps like ScratchJr or Viscuit. Both are designed for children to move their own pictures and characters, giving an experience close to Resnick’s “four Ps”.
- ScratchJr: for ages 5 to 7, moves characters with picture blocks, originated in the English-speaking world but supports Japanese
- Viscuit: age 4 and up, moves pictures children draw themselves using “glasses”, originated in Japan and widely used in Japan
If you introduce them, the form closest to what the research implies is to look at the screen together with your child and use them while talking: “How did you make it move?” “What happens if you do this?” For how to use apps in general, please also see the article on educational apps (Japanese).
5. Think within the screen-time limit
Programming apps, too, run on a tablet or smartphone. Both the AAP and the WHO give a guideline of no more than 1 hour a day for ages 2 to 5, and it is natural to put programming apps inside this limit too. “A separate allowance because they’re educational” is not supported by research. Thinking of it as replacing videos makes it workable in practice.
6. Classes are not “essential” but “one option”
At present there is no evidence that attending programming classes from preschool determines advantages or disadvantages from elementary school on. It is enough to position them as an option for cases where your child shows a strong interest or wants experiences that are hard to provide at home (full robots, making things together with peers). There is no need to panic about “having to send” your child.
Closing dialogue
After today’s talk, it really clicked for me that “compulsory = preparation from preschool” isn’t the case. The blocks and pretend play my daughter is doing now are already the “foundation”, aren’t they?
That’s right. The time you spend saying steps out loud with your child, or asking “What do we do next?”: that’s the most important foundation for what research calls “the ability to think things through in order”. It’s enough to think of classes and materials as options for when your child shows interest.
I’d thought of programming as something much more rigid, a matter of “do it or don’t”, but it’s softer than that.
Yes. To borrow the words of a researcher named Resnick, programming education is an extension of “the way of learning that happens in the kindergarten sandbox”. When a child in the sandbox plans “Let’s build a castle, dig a moat, and put up a bridge”, most of the important things are already happening.
When I get home today, I’ll try “Mommy robot” play after her bath.
Please do. I’m sure your child will be delighted to see you happily turning into a robot. Sticking so closely to the rule that “the robot can’t move on a vague command” that you end up frozen in the middle of the room: moments like that are often the best learning for children.
Research details
Primary sourcesStudy design: Conceptual overview / position essay
Scope: A conceptual framework positioning “Computational Thinking” as a fundamental thinking skill needed not only by computer scientists but by everyone
Main conclusion: Computational thinking is a way of thinking made up of elements such as “breaking down problems, finding patterns, abstracting, and putting steps together”, and can be applied to everyday problem-solving independently of whether a computer is used. Proposes that it is desirable to develop it step by step from primary education as a basic literacy alongside “reading, writing, and arithmetic”. It became the theoretical basis for later K-12 programming education and for Japan’s concept of “programming thinking”.
Limitations: Not a standalone empirical study but an essay proposing a concept. Verification of specific teaching methods and effects is left to later research (Bers et al., Strawhacker et al., etc.).
Study design: Curriculum practice study of early childhood robotics (mixed methods)
Participants: A 20-hour TangibleK Robotics Program curriculum (KIBO robot + CHERP programming language) for children aged 4 to 7 in early childhood education settings in the US
Main results: Through the curriculum, young children were able to acquire computational thinking skills such as sequencing, predicting the robot’s movements, and debugging (fixing mistakes). Showed that even at a stage when they cannot read, young children can handle the essential elements of programming if commands are expressed with physical blocks or pictures. A representative study showing the potential of an “unplugged (no screen) + physical robot” approach in early childhood education.
Limitations: A practice study using a specific curriculum and specific tools, with limited control-group comparison. Effects on long-term school results are outside the scope of this study.
Study design: Classroom practice observation and quantitative and qualitative analysis of learning outcomes
Scope: The relationship between differences in teachers’ teaching styles and learning outcomes in programming learning with ScratchJr among young children and children in the lower grades of elementary school (ages 5 to 7)
Main results: Children who were introduced to ScratchJr came to understand the order of commands, the meaning of symbols, and simple control structures. A tendency was observed for children’s understanding and exploration to deepen when those teaching took a style of “trying things out together” rather than “giving the answers”. It is also suggestive for introduction at home, supporting the view that it is preferable for parents to “try things together” rather than “show the right answer”.
Limitations: An observational study in classrooms; care is needed in applying it directly to the home environment. Long-term follow-up of learning outcomes is outside the scope of this study. The sample size is limited.
Study design: A book summarizing more than 30 years of research and practice by the author (head of the MIT Media Lab’s Lifelong Kindergarten group)
Scope: The development and spread of the Scratch programming environment, and a philosophy of kindergarten-style creative learning
Main claims: The essence of programming learning is not “the skill of writing code” but “making your own projects, on themes you get absorbed in, together with peers, in a spirit of play” (the four Ps: Projects, Passion, Peers, Play). This is continuous with the learning that happens in the kindergarten sandbox, and the claim is that this way of learning should be carried over to whole schools and whole lives as children grow older. A book that systematically presents the philosophy behind the design of Scratch / ScratchJr.
Limitations: A book presenting claims and a philosophy, not an empirical study. For specific verification of effects, related empirical research (Bers et al., Strawhacker et al., etc.) needs to be consulted separately.
Study design: Official guideline (an explanatory document supplementing the national curriculum guidelines)
Scope: The basic approach and implementation methods for programming education in the elementary school national curriculum guidelines fully implemented from FY2020
Main content: (1) States clearly that the aim of elementary school programming education is to nurture “programming thinking”, and that learning a particular programming language or acquiring skills is not a goal. (2) Programming is not made an independent subject but is brought into relevant situations within existing subjects such as math and science. (3) Unplugged (no screen) activities are also accepted as part of this education if positioned appropriately. (4) Materials for young children and the lower grades such as Scratch and Viscuit are given as examples, but use of any particular material is not required.
Limitations: An official guideline that does not provide new empirical data. Much is left to the ingenuity of each elementary school and teacher, and implementation varies between schools.