10 QA Children's programming education : How do primary and secondary school students start learning children's programming?

  The process of programming itself is a goal-oriented, task decomposition process, which requires programmers to conceive the steps and processes to achieve a specific goal and task in advance. In the process of programming, it may be careless to write wrong code, and in the process of debugging, let students develop more rigorous work habits.

  The object-oriented way of thinking is to sort out and divide complex problems into sub-tasks that are completed independently, which is also the most effective way to solve unknown problems. Programming is the process of breaking down tasks into programs that can be implemented. Abstract and summarize the problems in reality to improve the reusability of the program.

Q1 What is the appropriate age for children to study?
  Under normal circumstances, children over the age of six can choose Scratch or other similar programming languages ​​to get started, and simply drag the command module with the mouse to program, which reduces the learning threshold and enhances children's interest in learning programming. There is a 6-year-old girl in our base. When she first came here, she was not proficient with the mouse and could not sit still. After about a year of learning Scratch, the child can now calm down and program. She often paints the characters beautifully. It's time to add your own creative ideas to the code.

Q2 Do children's programming come to play games?
  The younger age of primary and secondary school students is becoming more and more serious. It is often seen that five or six-year-old children play games all day long with their mobile phones, and some parents are also distressed. Many parents think that programming is just playing games. On the contrary, we hope that young people will not be overly addicted to online games, so let them understand the principles of game programming. In addition to games, we also have courseware content in Chinese, mathematics, music, etc. Our curriculum itself It also weakens the design of games, hoping that students will understand that the real use of computer science is not only to make games. Many students made up their own mini-games, although the effect of the game is not so good-looking, but they have a lot of fun. Some students draw and color by themselves. They can modify the program code to change the rules of the game, and they can also draw the level background by themselves. Set your favorite music, modify the code to continuously increase the difficulty, and refuse to leave the classroom after class.

Q3 Are only boys interested?
  Many parents think that working with computers is something that boys like to play, and girls don’t like it. Through the observation of female students, they have more advantages and more careful programming than boys in elementary school. In the 2018 Hour of Programming Challenge, the first place The name is a boy in the first grade, and the second one is a girl in the fifth grade. The Children's Programming Education Network and the International Program Public Welfare Organization launched "Girls-Technology" to arouse society's prejudice against girls. Their slogan is "Technology, girls can!" Self-confidence, they are only different from boys in terms of interest, which requires better guidance from parents or teachers to teach students in accordance with their aptitude.

Q4 Parents who don’t understand programming, how can children learn?
  Not every parent of a child knows programming. In fact, there are many free learning materials on the Internet. For example, the Children's Programming Education Network has many free video and graphic learning materials. You can do it online. Search for learning, or buy books for self-study. The programming content of children's stage is very basic, simple and interesting, and it is not as boring and scary as you think. Many parents who don't know programming have learned to teach their children as teachers. Some cities have specialized offline institutions for children's programming. Regarding which online and offline resources to choose for learning, the parents make their own judgments. Since children's programming is an emerging market, the market is also full of fish, the teachers are uneven, and the charging standards are different. These require parents to keep their eyes open and in-depth understanding. In fact, the most important thing in youth programming is to let children truly understand the logic of programming and establish a computational thinking mode.

Q5 Will my child learn?
  Don't worry about this, children aged 6-13 have rapid brain development, and their learning ability exceeds that of adults. Children in this age group are also a critical period for the cultivation of imagination and creativity. Nowadays, children are taught by mobile phones without a teacher, and their mobile phones are more slippery than their parents. What do you have to worry about? Many of the children who come to study are in the first and second grades. Regardless of their young age, they can type in Pinyin by themselves. After a semester, the keyboard input is much faster. The most important thing is that learning through programming can stimulate creative thinking in their minds, which is the core content of programming learning.

Q6 Which programming language is better to learn?
  The question that parents are concerned about is what programming language to learn? In fact, programming languages ​​mainly have different grammars, and their thinking processes are very similar, just like foreign languages. English and French mainly have different grammars, but they can express the same meaning in different languages. Of course, for children under the fifth grade (10 years old), if there is no programming foundation, it is recommended to learn Scratch first. Above the fifth grade (11 years old), you can try to learn advanced languages ​​such as Python, C++, Java or Javascript. Listed below are several commonly used programming languages ​​for your reference. Scratch: Scratch is simple and easy to use. It is developed by the Massachusetts Institute of Technology. It is a special programming software for children, suitable for programming enlightenment education, and many robot hardware programming also supports Scratch. The scalability is very good. The most important thing is that children can get started quickly and quickly. Make your own works to enhance the fun and self-confidence of learning. Python: As the most popular language in the field of artificial intelligence research, Python has a very rich extension library, which can be used for games, web crawlers, database development, and even complex artificial intelligence systems. The syntax is relatively simple, and it is easy to use with other languages. Mixed programming is also likened to a glue language.

  C++: C++ is the only designated language for the National Youth Informatics Olympiad. If you want to develop in the direction of the Olympic Youth Championship, you can choose C++.
  JAVA: The syntax of Java is very similar to that of C++. It is an object-oriented programming language that supports cross-platform well. In Java, everything is an object. Many large-scale commercial systems are developed in Java.

Q7 How long does it take to learn programming?
  Many parents ask, how long does it take to learn this? First of all, the child's basic knowledge reserve has certain limitations, which affects his ability to understand. This requires continuous understanding in learning and practice, and there must be a process. Therefore, at the beginning, it may still be simple animation production, small game production, to cultivate children's creativity, logical thinking ability, observation and analysis ability, etc. In our opinion, stimulating his interest and cultivating his self-learning, independent thinking, teamwork, self-presentation and expression are more important to his future development and learning. This is difficult to measure with quantitative time standards. This is a relatively long process, constantly absorbing knowledge from life and learning, and observing and discovering various things. Then turn this knowledge and your observation and thinking into the creative source of programming, and use information technology to solve problems in life, so as to continuously improve yourself, enhance your learning ability, and enhance your self-confidence. According to our practical teaching experience, children over 7 years old can master the basic programming thinking in about a year. Parents will adjust and arrange the follow-up learning according to the individual differences and interests of the children.


Q8 Is programming for children to train programmers?
  Some parents think that learning programming is to cultivate future software engineers. This is also a misunderstanding. We hope that children can truly understand the computational thinking mode, and cultivate object-oriented in the process of programming learning. Divide complex problems into smallest executable units. the process of. Now, computer software is ubiquitous, food, clothing, housing and transportation can be done with just a mobile phone. In the future, we hope to cultivate students' cross-border ability. Whether they are engaged in the software development industry in the future has no necessary connection with this study. A real software engineer needs to systematically complete the relevant basic courses of computer science and be familiar with the professional skills requirements related to various application development. Different development directions have different technical specifications. The focus of programming learning in primary and secondary schools is to learn to use the excellent ideas in software engineering to solve problems in learning and life, and to establish a computational thinking mode. Of course, if there are students who are willing to continue to study in-depth in the direction of software development, it is also possible.

Q9 Can I participate in the competition?
  Yes, in the annual National Computer Production Contest for Primary and Secondary School Students, Scratch works can be submitted. The current competition method is for the information technology teacher of the student's school to register and upload the works. In addition, if middle school students learn C++, they can also participate in the Olympic Youth Championship. Of course, programming education is more about cultivating children's way of thinking. In actual teaching, we also hope that this kind of learning will not attach too many competition conditions, otherwise it will fall into the strange circle of Olympiad. Competition is not the only goal of learning. Of course, competition can also broaden horizons and increase knowledge. Holding this attitude, rather than competing for points, goes against our original intention!

Q10 What is the difference between programming and robotics?
  First of all, let me explain that the robots that many robot organizations in the market are talking about refer to the building of Lego blocks, not the robots that can be programmed and controlled. Maker robot programming is more about cultivating children's cognition of hardware physical perception. Now many robots have also added software programming, which requires specific hardware support, and executes different branches through different sensors. The focus is on hardware. However, software programming in the true sense is not limited by hardware. Many hardwares can now be programmed and controlled through Scratch or Python programs, and software is the central nervous system that controls the hardware. There was a student who had learned Python before, who was very handy in participating in the LEGO Robotics Programming Challenge organized by the school.