Last year, a board game called CoderMindz made a name for itself in Silicon Valley. Its predecessor, CoderBunnyz, has sold more than 1,000 units in less than a year, with sales of more than $35,000.



The game was created by Samaira Mehta, a 10-year-old girl from Silicon Valley. Relying on his excellent “programming” technology, the global media as “Silicon Valley future star”, even Zuckerberg praised her “young and promising”.



Back in 2015, former US President Barack Obama said in an interview with the media, “We need to get kids involved in math and science, not just a few kids, but everybody. Everyone should learn how to program earlier.”



In the United States, the concept of STEAM education is widely recognized and applied. From a relatively young age, children begin to accept science, technology, mathematics, art and other aspects of enlightenment and edification.

In China, especially in some economically developed provinces and regions, programming education for children based on information technology courses in primary and secondary schools also started and developed earlier. In 2014, information technology subjects (including programming) were included in the college entrance examination as part of zhejiang’s education reform plan.



In 2018, The State Council issued the Development Plan for a New Generation of Artificial Intelligence, proposing to improve the artificial intelligence education system, set up AI-related courses in primary and secondary schools, and gradually promote programming education. In the same year, the National Computer Rank Examination began to include Python content. Since then, some provinces have increased the emphasis on programming in their education reforms. Shandong province has included Python in its information technology textbooks for the sixth grade of primary school, and Guangdong province plans to include information technology in the college entrance exam.



In addition to school education, children’s programming training has mushroomed out of school and developed rapidly. Many training institutions have opened relevant courses on children’s programming.

Why do you want to learn programming?

Why is there so much interest in learning computer programming, especially for kids?

Programming enlightening children’s imagination and creativity, as well as the exploration spirit of logical thinking presented in it, is unmatched by any other reading books.



Scratch 3.0 Children programming fun class



Learning to code has at least a few benefits for kids.

1. Develop thinking, enhance logical thinking ability




When learning to code, a child becomes a good thinker. For example, a child will learn how to break a complex problem into its simple parts (divide-and-conquer), how to find a problem and debug and solve it, and how to iterate, refine and improve a solution over time. And all of these thinking strategies are, in a word, the concept of computational thinking. Unconsciously, children’s computational thinking has been developed, logical thinking ability has been enhanced.

Learned to calculate thinking and logical thinking, the children will find it not only applies to the computer, and can also be applied to all the problem solving and design activities, and even every aspect of life, for example, as a whole to boil water to make tea time, determine, in accordance with the order of the menu stir-fry all found in the shortest path in the supermarket to buy things and so on.



2. Develop your child’s concentration and carefulness

Interest is the best teacher. Once an interest in programming is developed, the child is willing to invest the time, energy and passion to do it. In addition, finding problems and debugging, as mentioned earlier, is almost a necessary part of the programming process. Sometimes, very subtle errors will cause the program to fail. Whether debugging mistakes or learning to avoid mistakes, children can develop a degree of meticulousness and patience.



3. Increase children’s abstract thinking ability

As mentioned earlier, programming, like writing, is a form of expression. Furthermore, it is an abstract form of expression. Specifically, children need to express abstract thoughts and ideas with tangible, figurative or symbolic things. In this sense, programming is an extension of writing, requiring you to “write” innovative things that didn’t exist before — stories, games, animations, simulations, etc. Without the ability to think abstractly, without the full use of their imagination, it is difficult to achieve programming innovation.



4. Enhance children’s ability to think and solve problems

In the process of programming, there will always be a series of obstacles and challenges, which requires children to use their brains, positive thinking, and learn to use existing knowledge, resources at hand, partners and teachers or parents to help solve problems. Once this habit of thinking and solving problems is formed, the growth and harvest brought to children is huge — when they face various problems in real life, they will also think positively, constantly try and solve problems.



5. Develop a sense of identity and accomplishment

Finally, learning to code will give children a great sense of identity and accomplishment. In modern society, digital science and information technology have been quite popular, and their rapid development, which have greatly affected and changed our society and life. Once a child has mastered the ability to express themselves and solve problems digitally, he or she will see himself or herself in a new light and will derive a great sense of accomplishment from having this skill and contributing to society.



Programming has so many benefits for kids, so what are you waiting for? Take the opportunity to let your child learn and master the skill of fluent expression in this way!

2. Why do children learn Scratch when learning programming?

The development of computer programming languages is probably decades old. During this period, programming languages have gone through the process of developing from low-level languages to high-level languages. The low-level language and high-level language we are talking about here is not the function and level of language, but the difference between programming language and human language. Low-level languages are closer to machine language, easier for computers to understand and harder for humans to understand. The syntax and expression of a high-level language, which is more like human language, needs to be translated by something called a compiler and interpreter (you can think of compilers and interpreters as translators) into a machine language that is easier for computers to understand before the machine can execute it.



The classification and hierarchy of the various programming languages is shown below.

You’ve probably heard the names of some programming languages, such as C, C++, Java, Python, and so on. The modern programming languages we are dealing with are generally high-level programming languages whose syntax is similar to that of natural human languages, requiring a compiler or interpreter to convert them into machine languages. There are other visual languages that are easier to learn, such as Scratch, which is a visual language that has been wrapped or customized from a high-level language to become a programming language that is easier to learn and understand.



You might ask, why not just learn a high-level language like C, C++, or Python instead of a visual language like Scratch? This is mainly because Scratch is easier for teenagers to understand and pick up. Scratch includes storytelling, animation, game design, and other features that are particularly interesting for kids to learn. It will be much easier for them to move on to higher-level languages like Python or C++ once they are familiar with the basics of a programming language in Scratch.

So learning to program is a process from easy to hard, and Scratch is really a better language to get started with, and a better choice for kids.



On August 1, 2018, Scratch 3.0 beta was released, which is another update since Scratch 2.0 was introduced in 2013. Scratch 3.0 will be available on tablets and phones and will add richer image editing, sound editing, Google Translate and more. Additionally, Scratch 3.0 is compatible with LEGO MINDSTORMS EV3 and LEGO EDUCATION WeDo 2.0. On January 3, 2019, Scratch 3.0 was officially released.

Most of the basic tutorials that teach programming are playthrough style, where kids create a program, move a virtual character, and make it do something and achieve a goal. Children learn coding skills and computer science concepts as they write programs to solve problems.



But Scratch is different. As the creator of Scratch, Mitchell Resnick and his team see Scratch not just as a programming language, but as an online learning community. Focusing on projects rather than problem solving, Scratch encourages children to create their own interactive stories, games and animations, starting with ideas, turning those ideas into projects, and then sharing them with others.

Given the nature of the different audiences in the Scratch online community, there has been an increasing number of spin-offs around Scratch. Pick is an independent online resource community for educators that supports story sharing, interactive educational resources, online discussions and more. Currently, it covers the whole project for Your project’s educators, from kindergarten to university. The content types include lesson plans, courses, assessments, textbooks, etc., covering subjects such as math, music, social sciences, visual arts, etc.



Scratch is for children aged eight to 16, ScratchJr is for younger children aged five to seven. Compared to Scratch, ScratchJr is tablet based, with programming blocks that are bigger, a library of more images and more straightforward to splice. ScratchJr’s interface is sketched below.

In addition to the online learning community, Scratch also hosts offline communication events around the world called Scratch Day. In 2017, more than 1,000 Scratch Days were held around the world. There are Scratch communities and forums on social media where people are documenting their Scratch Day programming, sharing, and gaming experiences in a variety of languages.



The world of the future is full of new things. The vast majority of children today will have to be creative and creative in their future jobs. No matter what their age, learning Scratch not only helps them develop computational thinking and creativity, but also allows them to share and communicate with peers, teachers and parents. Scratch is a “creative playground” for children heading into the future.

What books should I learn to program?

















– END –