← StudyX Devlog

What Do Children Learn in Elementary School Programming? Japan and England Compared

Hiroki ObaraHiroki Obara ¡ DeveloperMath GatesHow-To
What Do Children Learn in Elementary School Programming? Japan and England Compared

In Japan, where I live, programming education began in elementary schools under the course of study that took full effect in the 2020 school year. It is often described as “making programming compulsory”, which suggests a new subject called programming. That is not what happened. No programming period was added to the timetable. Programming is taught inside existing subjects such as arithmetic, science and the integrated studies period.

So what actually happens in class? In this post I go through the course of study and the Ministry of Education’s Guide to Programming Education in Elementary Schools, third edition (February 2020, in Japanese), and set it beside England’s computing curriculum for comparison. I wrote about what “computational thinking” means in What Is Computational Thinking, and What Can Puzzles Teach?, so here I focus on what schools do.

What Japan’s course of study says

The general provisions of the Elementary School Course of Study (2017) list, among learning activities to carry out systematically according to each subject, this one:

Learning activities in which children, while experiencing programming, acquire the logical thinking needed to make a computer carry out the processing they intend

The key word is “experiencing”. Children are meant to try programming, not learn about it as knowledge. And what they are meant to gain is “logical thinking”, not programming skill.

Three aims

The guide sums up the aims of elementary programming education roughly as three.

  1. Developing “programming thinking”, Japan’s term for this part of computational thinking
  2. Helping children notice how programs work and what they are good for, and that the information society is supported by computers, and building an attitude of using computers well to solve everyday problems and make society better
  3. When taught inside a subject, making learning in that subject more secure

The guide then says plainly that children may well pick up a programming language or programming skills along the way, but that this is not itself the aim.

For the second aim, the guide gives a clear explanation. Children use computers almost every day, yet how they work has become a “black box”. So through experience, children are meant to notice that computers run on programs, that people write those programs, and that there are things computers do well and things they find hard.

Sample lessons

The course of study gives two examples of where programming fits inside subjects.

Arithmetic, grade 5: regular polygons. To draw a regular polygon you have to repeat the same step exactly: move the same distance, turn the same angle. Change only the number of repeats or the angle, and other regular polygons follow the same way. Programming is used at the point where “exact repetition” and “change one part to get a different shape” come up.

Science, grade 6: using electricity. Children learn that many everyday tools use the properties of electricity. Programming is used where children consider how a device works according to the conditions it is given, and how its behavior changes when the conditions change. In the guide’s sample lesson, children build a circuit in which a motion sensor controls a light-emitting diode, then change through a program the conditions under which the sensor responds.

The integrated studies period is also expected to place programming within the process of inquiry.

The guide adds examples from subjects not named in the course of study: composing music in music class by combining rhythm patterns, using a program in social studies that combines features of prefectures to find all 47 of them, and thinking in home economics about the program built into a rice cooker.

The guide sorts these activities into six types, A to F. A is in units named in the course of study. B is not named there but sits inside a subject’s content. C is within the curriculum but separate from subjects. D is for specific children, such as clubs. E and F are outside the school curriculum. How much happens in which grade is decided by each school.

What children use

The guide notes that visual programming languages, where commands are combined like stacking blocks, are widely available and that elementary children learn the basics quickly. Its sample lessons assume this kind of language.

There are also activities that build programming thinking without computers. However, the guide also says that since the course of study asks children to experience programming, it is not desirable for children to hardly use computers across programming education as a whole.

How Japan compares with England

England took a different path. Its national curriculum has had a separate subject, computing, since 2013 (National curriculum in England: computing programmes of study). At key stage 1, roughly ages 5 to 7, pupils are taught to “understand what algorithms are” and to “create and debug simple programs”. At key stage 2, roughly ages 7 to 11, they “design, write and debug programs that accomplish specific goals” and “use sequence, selection, and repetition in programs”.

Japan places much less weight on programming knowledge in elementary school. The guide, quoting an expert panel, sets out what children should know at each stage:

  • Elementary school: notice that computers are used in everyday life, and that solving a problem takes the right steps
  • Junior high school: understand the role and effects of computers in society, and be able to write simple programs
  • High school: understand scientifically how computers work, and be able to use them to solve real problems

Elementary school is the “noticing” stage. Ideas such as algorithms and how computers work are left for junior high and high school. Both countries trace back in part to the idea of computational thinking that Jeannette Wing described in 2006 as “a fundamental skill for everyone” (Wing, “Computational Thinking”, 2006).

What families can do at home

Lessons differ a lot from school to school. If you want to add something at home, I think two things matter most.

One is putting steps into words. Write out the steps of a recipe in order, or give directions using only words. When something goes wrong, find together where it stopped and fix it. That is the same thing the guide describes, thinking of the movement you intend as a combination of single movements and improving it, done in the kitchen or the hallway.

The other is paying attention to things at home that run on programs. Besides the rice cooker from the guide’s example, the air conditioner timer, the washing machine and traffic lights all run on conditions and steps. Simply asking “What steps do you think this follows?” leads toward the “noticing” of the second aim.

About Math Gates

Math Gates is a circuit puzzle game I make. You place gates that change a number and mirrors that turn its path 90 degrees on the empty cells of a board, then press Run. A bit carrying a number travels in a straight line. The port at the end accepts only values that meet its condition.

Compared with school lessons, Math Gates is no replacement for a visual programming language. It is not a tool for children to build what they want, since the goal belongs to the puzzle. What it offers instead is short, repeated practice in combining steps in order, predicting the result before running, and finding and fixing the reason something failed. When you place a piece, the path is drawn as a dotted line, and a failed run stops with a reason, such as hitting a wall or arriving with a value a gate would not let through. The last world, Logic Circuit, brings in NOT, AND and OR gates.

There are 140 puzzles across seven worlds, aimed at ages 8 and up. It is free to play with ads between puzzles, and a one-time purchase removes the ads. For how it compares with Scratch and other options, see Math Gates vs Other Math Puzzle Games, Coding Games and Worksheets.

As I understand it, programming education in Japanese elementary schools is not about training programmers. It is about noticing that computers follow steps people wrote, and getting the experience of putting steps together and fixing them. Seen that way, there is more that families can do at home than it might seem.

Download on the App Store