English

2014.10.26
[EN] The Spread of Programming Education

The Spread of Programming Education

 I founded CANVAS, a nonprofit organization, 12 years ago in Japan with a mission to create and provide new forms of creative learning for children. As part of our mission, we have also held programming workshops. We’ve offered workshops on modeling, video production, science, dance, and more, serving over 350,000 children, but the programming workshops never gained much popularity. However, these days, a boom in programming education is clearly evident. Stories about programming appear on TV, in newspapers, and in magazines. The skills and tools have long been available, but a wide gap remains between programmers and users. However, with the widespread adoption of tablets and smartphones, computer use has become commonplace among children and their parents, and they have come to recognize its importance.
 Based on the new curriculum, learning how to measure and control using programming has been mandatory in home economics classes since 2012. Furthermore, a strategy proposed by the Cabinet in June 2013 to “create a world-class IT infrastructure” includes the recommendation that, in order for the government, industry, and academia to have a steady supply of IT human resources, programming and IT instruction should be promoted at the compulsory education level, and that “in addition to programming instruction at the primary and secondary levels of education, cooperation between industry and education at the higher education level should be strengthened and promoted to ensure the continued development of IT talent,” with the goal of declaring Japan the “world’s most advanced nation” in information technology. This, along with many other factors contributing to the boom in programming education, is providing a real boost.

 The same trend can be observed in other countries. England is currently considering a new curriculum in which programming will be taught starting in elementary school. Estonia implemented such a program in 2012, and New Zealand, South Korea, and Israel have begun offering programming at the elementary school level. Even in Finland, it has been decided that programming will be a mandatory part of the elementary school curriculum starting in 2016.
Reference:
 Japanese: http://www.huffingtonpost.jp/techcrunch-japan/education_b_4734377.html
 
English: http://techcrunch.com/2014/02/04/uk-government-backs-year-of-code-campaign-boosts-funds-to-teach-code-in-schools/

 In addition to public education programs, Ireland has implemented a CoderDojo program that teaches programming to children. It has spread to 400 locations in 45 countries. In the U.S., Code.org has launched a campaign to make programming education mandatory, and Bill Gates is one of its supporters.

 During “Computer Science Education Week” held in December 2013, President Obama released a video that received an enthusiastic response. “In addition to buying video games and downloading apps—beyond just playing—I want everyone to learn how to program.”
Reference:
 Japanese: http://techacademy.jp/magazine/1260
 English: http://lybio.net/barack-obama-president-obama-calls-on-every-american-to-learn-code/speeches/

CANVAS has been holding programming workshops since its founding. Beginning in the summer of 2012, the “Programming Workshop in Tohoku” has been held in elementary school classrooms, primarily in the Miyagi area. Specifically, these workshops have been held in Ishinomaki, Kesennuma, Tagajo, Shichigahamamachi, Wataricho, and Sendai in Miyagi Prefecture. Over the course of about half a year, approximately 600 students participated.
 Under the theme “Make a game for yourself!”, children are taught how to use the Scratch programming language. Scratch is a programming language developed for children by the MIT Media Lab. It does not require typing on a keyboard. Programs are built using the mouse by connecting blocks, much like building with building blocks.
 When the teacher asked, “Do you play games?” the students excitedly talked about their favorite games. “Well then, how are the games you play made? How do the characters move?”
Games are created by people giving instructions to computers. Giving instructions to a computer is called “programming.” Today we’ll learn how games are made, and each of you will create your own game. We’ll go from “Let’s play a game” to “Let’s make a game.” Let’s take on this challenge!
Many questions come up, such as “I want to create my own character!” “I want to change the setting!” “How do I set a time limit?” and “I want to add background music!” The programming inevitably spills over into break time, and by the end, the students have figured out how to do things they hadn’t even been taught yet.

 Once they’re done, the students all play each other’s games. Every single one is different. Because the students all worked to create their own games, they’re able to appreciate how their friends created theirs as well. While playing others’ games, they come up with new ideas and improve their own. It’s common to see teachers surprised by the ingenuity and originality their students display—and by the fact that students no longer need to be told what to do but instead ask if they can do it on their own.
We have received a lot of feedback from teachers:
 “I want to teach the children to think, act, and execute on their own. I felt that this workshop was perfect for achieving that goal.”
 “The students were highly motivated. I could see it in their eyes."
 "It made me think about the importance of using techniques that remind students how much fun it is to figure things out for themselves. This workshop helps expand children’s dreams."
 Through programming, children can explore freely in this way, and the possibilities are endless. For example, children can use programming to paint a picture, create music, create animations, make a game, create an animated greeting card to send to a friend, create digital art, and build simulations. Looking at the things children create, it’s clear that the possibilities are vast. If you add a sensor or a motor to the mix, children can build robots and other moving toys.
 The ability to create something requires knowledge across many different disciplines—including arithmetic calculations and graphing, reading and understanding instructions, and developing the creativity needed to draw or compose music—but when children are creating something for themselves, they naturally find ways to learn these things on their own. By “learning how to learn,” they gain much more than just the ability to create a game. They learn a great deal about the world and experience just how rich it is. Scratch is a tool designed for this very purpose. I am often asked why I provide a place for children to learn about programming.
 I believe it is more important to learn “through” programming than to learn “how to” program.
 Through programming, children can learn a variety of things. First, by learning to program, students build their own knowledge. They discover what is possible through the trial-and-error process of building, testing, and fixing.
By combining programming with other school subjects, students gain a deeper understanding of the processes involved and naturally want to explore them further. Knowledge gained in this way is easier to integrate and apply to all endeavors, enhancing the individual’s overall capabilities.
 Additionally, programming requires students to analyze, break down, and prioritize steps to solve a problem. Solutions must be expressed clearly and logically for a computer to understand, which helps students think logically and enhances their problem-solving skills.
 Furthermore, they learn a new way to express themselves. The process of creating something is a form of expression. Programming is a new means of expression that was not available to them until now. They now have the ability to make a three-dimensional object move. Just as they once had clay and crayons, they now have the new tool of programming.
 Programming is extremely effective at teaching children the communication and creativity skills they will need in today’s information society. We want this program to teach them to think logically, improve their problem-solving skills, help them collaborate with others, and help them imagine new and creative ways of looking at things.
 Building on their experiences in Tohoku, CANVAS will launch the PEG (Programming Education Gathering) program with support from Google to expand programming education nationwide. PEG is designed for children ages 6 to 15, and 5,000 palm-sized computers known as “Raspberry Pi” have been prepared for the program. Scratch will be used as the programming language, and the goal is to have 25,000 children participate within one year. Specifically, they will develop a curriculum, offer workshops for both children and teachers, sponsor symposiums, and provide information on programming know-how via a website.
 The most important aspect of the PEG program is the “gathering.” PEG plans to involve schools, museums, NPOs, families, local communities, industry, and municipalities in its goal of bringing people together to learn programming.
PEG began receiving inquiries immediately, and there are already 7 elementary schools, 23 middle and high schools, 9 universities, and 23 preparatory schools, NPOs, and educational groups involved. Gatherings are already planned for Aichi, Yokosuka, Kitakyushu, Koriyama, Miyagi, Okinawa, and other locations.

 Here is an example. At Keiyo Elementary School in Tokyo, approximately 350 students were given a Raspberry Pi and asked to use it in language, math, and science classes.
On July 9, 2014, third-grade Class 1 held an open class during the fifth period. The lesson that day was the sixth in a series on “Properties of Wind and Rubber.” Their teacher, Nobuo Sugawara, asked them the following question: “How does the tension of a rubber band change when you stretch it or add more rubber bands to it?”
 First, the children were asked to predict the outcome of an experiment. In the previous lesson, they had been asked to stretch a rubber band 10 centimeters and measure the distance this moved a toy car. Now, assuming that the average result was 630 cm, the students were asked to estimate how far the car would move if the rubber band were stretched an additional 10 cm, and what would happen if the rubber band were stretched less. They were asked to express their answers using the Scratch programming language.
 School Principal Yukiko Morita explained, “Programming is all about procedure. That’s why we’ve incorporated programming into the curriculum of many of our subjects. As a result, students gain a deeper understanding not only of programming but also of the subjects themselves.”
 Mr. Sugawara, who designed the class, says, “It’s effective to see a visual representation of what one plans. That’s why we used Scratch. Children who aren’t good at visualizing things in their heads and children who aren’t good at expressing themselves in words gain the ability to express themselves.” In fact, children who normally don’t raise their hands find it easier to speak up.
When the teacher begins to review how a program is created, the students start giving instructions. “Choose ‘how many steps’ from the ‘move’ category and then put it in his mouth!” “Next, use the yellow block!” If the teacher makes a mistake, the students happily shout, “That’s wrong, teacher!” right away. From start to finish, the students enthusiastically raise their hands and call out, leaning forward to share their predictions.
“Thanks to Raspberry Pi, fathers are working harder, mothers are coming to class to listen, and the school’s sense of unity has been strengthened,” explains Principal Morita.

 On the day of the open class, many people came to visit, including parents, local residents, and teachers from other nearby elementary schools. As a result, not only did everyone gain a deeper appreciation for the subject, but the introduction of programming education has had the positive side effect of helping to bring the school, families, and the community closer together.
 While there are many challenges, I recommend that we continue to collaborate with others across the country who are passionate about programming education to share knowledge and expertise so that we can overcome these challenges and continue to promote programming education.