Programming Education from Early Childhood and Its Significance
CGK International School aims to "raise real global kids", and as part of this, we started programming education in April 2018 in our preschool's optional classes. As you may know, English education has become a compulsory subject from the third grade, and at the same time, programming education has also become a compulsory subject in elementary schools.
English learning has always been at the top of the popularity ranking of children's lessons for a long time, and many people seem to feel the importance of English firsthand, even if only vaguely. In fact, the number of foreign visitors to Japan in 2017 was about 28 million, and it is said to exceed 30 million in 2018, clearly indicating that Japan is moving in a more global direction.
However, there is still a lack of awareness about the significance of programming education, and in particular, many people do not feel the need to start programming from early childhood.
It is important to be able to speak English, but what is really important is what you can do and what you can do with English. We believe that it is important to develop non-cognitive skills such as perseverance, sociability, self-esteem, and inquisitiveness, and the importance of non-cognitive skills is attracting attention worldwide.
CGK believes that it is important to develop non-cognitive skills in addition to language (English), knowledge, and specific skills (so-called "cognitive skills") in order to "raise real global kids". As a way to develop both of these skills, we have started programming education in our preschool's optional classes.
Why learn from early childhood?
First of all, non-cognitive abilities, which are deeply involved in all aspects of life, are not innate but can be intentionally nurtured. And as with cognitive abilities, it is especially important to develop non-cognitive abilities at an early age.
CGK has built a variety of curriculums, but why do we offer programming education? There are two reasons for this.
First, the purpose is to learn Computational Thinking. Computational thinking is the ability to think logically about things, such as what combination of movements is necessary to achieve the series of activities you intend, and how to improve them to get closer to what you intend.
Second, It is to nurture a spirit of deep inquiry through trial and error. It is important to have repeated "experiences" of trial and error so that we can develop a spirit of inquiry to deeply pursue various things and the essence of the world. Indifference and a mind that gives up easily are things that we should definitely avoid in our future growth.
In summary, in order to survive in today's society, programming education is beneficial to improve not only cognitive skills but also non-cognitive skills, and it is important to start from early childhood in order to nurture the underlying skills.
Programming education is not the only way to develop these abilities. Since it is also very important to provide care and education in group life at the school, CGK has introduced programming education as an optional class for those who wish to take it.
The Ministry of Education, Culture, Sports, Science and Technology's stance on programming education
As mentioned above, the Courses of Study include the field of information education. The new Courses of Study call for programming education in the following manner.
"Programming education is designed to give children the experience of being able to instruct a computer to perform a process that they intend, while fostering "computational thinking" and other skills that will be universally required throughout the ages, no matter what kind of job they pursue in the future. The purpose of this program is to give students the experience of being able to code. The objective is not to learn coding."
"Computational thinking is the ability to think logically about what combination of movements is necessary to realize the series of activities you intend, how to combine the symbols corresponding to each movement, and how to improve the combination of symbols to get closer to the intended activity. The ability to think logically about such things as how to improve the combination of symbols to get closer to the intended activity."
Reference source: 小学校段階におけるプログラミング教育の在り方について（議論の取りまとめ）
Another goal of programming is to help students realize that the world today is supported by information technology, and to help them acquire the knowledge and skills that they have learned in the past by fostering these information processing skills.
Based on the idea that the ability to discover problems on one's own and to create answers and new values will become more important in the future, education is undergoing a major transformation, with the abolition of the traditional university center examinations and a change in the educational curriculum from a single vertical system of Japanese, mathematics, and social studies to a cross-sectional one. It can be said that education is undergoing a period of great change.
With the implementation of the New Courses of Study, the Ministry of Education, Culture, Sports, Science and Technology (MEXT), the Ministry of Internal Affairs and Communications (MIC), and the Ministry of Economy, Trade and Industry (METI) collaborated to launch the "Future Learning Consortium" with education and IT-related companies in March 2009. The purpose of this consortium is to promote the development of digital teaching materials and to build a support system for instruction in schools so that programming education can be implemented smoothly.
This shows that programming education is an important project for the entire country.
What it means to learn programming at CGK
The children who attend CGK are taking various lessons outside CGK such as preparation for elementary school entrance exams, dance, swimming, music, ballet, etc., and some of them lead busy lives with schedules as hectic as those of adults. Even though we have a long way to go in life, this is the most important time to lay the foundation, so we believe that it is essential to create a more effective and efficient environment.
For this reason, CGK teaches programming in English, so that students can develop their English language skills, as well as their acute cognitive ability and spirit of inquiry.
The final goals we are aiming for will include the following:
- Realize the rules and ways of playing that you have thought of in their head.
- They explain it in English.
This requires imagination, but also the ability to logically construct and create the steps to express it. In addition, explaining what you have created leads to asserting your own opinions, which can be expected to improve their self-expression skills, something that Japanese people are not particularly good at.
I would like to introduce you to Viscuit, the programming language used by CGK.
First of all, the assumption is that there are quite a few programming classes for elementary school students, each employing a variety of programming languages. On the other hand, programming classes for young children are almost non-existent. This is not to say that it is still difficult to provide programming education to young children, but it's because few programming languages have been developed that can be understood by young children.
There are a variety of programming languages in the world, such as Java and Ruby, but visual programming languages such as Scratch and MOONBlock have been developed so that children can understand them. These languages are mainly for elementary school students, but Viscuit is a more visual language that can be played intuitively even by young children.
In Viscuit, the numbers and pictures are rewritten from the left side to the right side using what are called "glasses". For example, let's say you want to make a program that arranges the following sequence of numbers from 1 to 5 in decreasing order.
Prepare the seven glasses as shown below, and place the numbers on the left and right as you want to rearrange them. If you look at the top pair of glasses on the left side of the diagram below, you can see that there is a number "21" on the left side and a number "12" on the right side. This means that if there is a sequence of the number "21", it will be changed into "12".
When this is done, the ten numbers in the above figure will be reordered as follows. This is the programming of the Viscuit.
You can simply move or change the drawing as shown in the picture below.
↓ ↓ ↓
You can also create a simple game as shown in the picture below.
Also, you can easily draw a geometric pattern as shown below.
In this way, Viscuit's simple mechanism of "rewriting" from left to right using "glasses" sparks the children's imagination and allows them to intuitively form various expressions.
By the way, the geometric pattern above is just a pattern using one pair of glasses: when there is a green triangle (left side), place a red and blue bar while going slightly down to the left (right side). With just one rewrite, you can draw this kind of diagram.
Visual programming for elementary school students
Viscuit can of course be played by elementary school students. Although the term "developmental" is not officially correct, here is a programming language that is generally considered to be suitable for elementary school students.
It is the most famous and best known language in the world, and was originally developed by a lab at the Massachusetts Institute of Technology.
The right side of the above figure is the instruction part (glasses in Viscuit), and the picture on the left screen moves according to this instruction. Compared to Viscuit, you can see that it is a little closer to a general programming language.
MOONBlock is also known as "Maeda Block", and the idea came about when the developer tried to teach Mr. Maeda about the enchant.js system (the foundation environment for making games), and he was unable to understand the conditional branching in programming before enchant.js. The idea came from this.
Both Scratch and MOONBlock have the same effect in terms of developing logical thinking skills, but if you want to go beyond the world of programming, MOONBlock may be a better choice.
Programin is a language for children developed by the Ministry of Education, Culture, Sports, Science and Technology. The specifications are basically the same as Scratch, with the only difference being the UI (user interface (appearance and usage)). The UI (user interface (appearance and usage)) is different, so I guess it depends on the child's likes and dislikes.
I have been talking about programming for children, but I think the majority of people have not consciously been exposed to programming in their daily lives. As for the English language, we use words like spoon, fork, and table without thinking about it, and English notation is abundant in the city, so we feel familiar with it. In fact, the same is true for programming. The home appliances we use in our daily lives, such as refrigerators and microwave ovens, operate only because of programming.
As I mentioned in the beginning, the purpose of learning programming from early childhood is not to be able to program. As it is said that AI will replace more than half of the jobs in the world in the future, it is very important to learn programming (or other methods) to develop a spirit of inquiry, an acute cognitive ability, and to acquire higher-level creative abilities.
If you have never been exposed to programming before, you may be skeptical about the usefulness of programming education in early childhood, but at CGK, we want to help create an environment that will nurture "real global kids" by developing their "language skills," "spirit of inquiry," and "acute cognitive ability" through this programming education, and CGK hopes to help create an environment that fosters "real global kids.