Hello everyone, I am Guoguo’s mom~Like many parents, I have been contemplating whether to introduce programming to my child, and I have also discussed this with several parents who work in programming and computer teachers.In terms of learning mathematical thinking, Guo Dad and I have no disagreements, but we actually have different opinions on the choice of programming.From my perspective, I hope Guoguo can engage with valuable project content that is not heavily taught in school, and I believe that the future demand for talent and educational methods will increasingly differ from traditional education. The biggest variable compared to the education we were exposed to as children lies in information science.From Guo Dad’s perspective, his standard is simple: he hopes to choose projects that have a better cost-effectiveness in terms of time investment.Ultimately, the deciding factor is still Guoguo’s time management constraints.Today, I would like to share with you the three stages of Guoguo’s introduction to computer programming.First of all, every family’s specific situation is different. Our background is that Guoguo is still relatively “patient” and we have a certain amount of time to accompany and guide her, and our parent-child cooperation and communication are currently quite high.
1st
First Stage
During Guoguo’s preschool stage, I also had her learn a well-known online Scratch course for half a year. The child found it fun, like playing a game, and she initially understood basic programming logic such as loops, conditions, and judgments.However, looking back now, the time cost-effectiveness of this Scratch course was not high; there was no need to spend time learning it separately. This time could have been better spent on English, sports, or outdoor activities; it was really unnecessary to strain her eyes on this.
2nd
Second Stage
In the early stages of elementary school, Guoguo loved hands-on crafts, and I also wanted to cultivate her hands-on skills and interest in physical mechanics, so we engaged with the famous “Little Beaver”.“Little Beaver” can be said to be a leading institution in the field of robot programming education. On one hand, it serves as a “substitute” for LEGO bricks, and on the other hand, it introduces many intelligent mechanical modules. The programming control uses modular programming (at this point, I felt even more that there was no need to learn Scratch separately), and it can also synchronize modular programs to Python. The PBL project-based learning concept can guide children to find ways to solve real-world problems step by step, and even optimize them. Guoguo’s grandmother, a computer university teacher and LEGO fan, also highly recognizes many designs of this course.During this process, Guoguo not only learned about pulley transmission, center of gravity, and levers, but also encountered infrared recognition, remote control, and smart home technology. It was indeed a wonderful and enjoyable learning experience.This stage belongs to the track of robot programming, which combines software and hardware. From a pragmatic output perspective, the future corresponds to the relatively high-cost robot track and some science and technology competitions.
3rd
Third Stage
Starting in third grade, Guoguo’s schedule became tighter, and we paused “Little Beaver” to start experimenting with C++ through New Oriental’s U Programming small class live courses.Just like the fable of the little horse crossing the river, a computer teacher had previously reminded us that even for children in third or fourth grade, directly engaging with C++ could be quite challenging. There is also a shortcut for those aiming for the Olympiad, which is to learn C++ directly in third or fourth grade.So, could Guoguo accept C++? I actually had a question mark in my mind, so I accompanied Guoguo throughout her programming learning journey.I still remember that in the first class, Guoguo even cried because she couldn’t understand~~ C++ was like learning a new language for her, with unfamiliar syntax and expressions.Even though the teacher was very capable, I could feel that the teacher tried to explain using vivid and understandable language for the children, but the first class was still a steep hill for Guoguo.After class, the programming assignments left for the children were initially difficult for Guoguo to adapt to. I guided her to gradually familiarize herself with the programming interface, practiced programming through class notes, and communicated with the teacher one-on-one via WeChat for answers to her questions. I am especially grateful for the teacher’s continuous support and encouragement!By the third class, Guoguo had become familiar with C++ programming habits and began to find programming somewhat interesting and rewarding. By the end, she could independently complete more than half of the assignments given by the teacher.After half a year of learning C++, Guoguo successfully passed the GESP Level 1 assessment in March this year, which greatly boosted her confidence in mastering programming languages.
Looking back on this experience, I think it is a good thing that the country has set age limits for the CSP-J competition. The timing for learning C++ should not be too early; the stronger the foundation in mathematics and cognitive understanding, the more efficient the learning will be.
For children who are just starting to learn programming but are unsure whether to pursue the Olympiad, it might be worth considering starting with a relatively simpler and practical language like Python.The GESP assessment levels for Python and C++ are interchangeable; as long as one can achieve a score of 80 or above in C++ Level 7 or pass Level 8, they can directly exempt from the preliminary round of the CSP-J Olympiad.Unlike the domestic informatics Olympiad, which only allows C++, the USACO (USA Computing Olympiad) accepts both C++ and Python programming languages.If after learning, one decides not to pursue the informatics Olympiad path, the mastery of basic programming knowledge can cultivate efficient problem-solving thinking habits and logical analysis skills. It also makes it easier to understand the underlying logic of human-computer interaction tools, allowing one to know how to ask DeepSeek or Doubao for programming solutions when solving problems.
Feelings about the assessment
Introduction to GESP
Initiated and hosted by the China Computer Federation, GESP provides a platform for academic ability verification for young computer and programming learners. It aims to enhance the level of computer and programming education for young people and promote and popularize computer and programming education among youth, covering all stages of primary and secondary education.
The assessment languages include graphical programming, Python programming, and C++ programming, mainly assessing students’ mastery of relevant programming knowledge and operational abilities, familiarizing them with basic programming knowledge and theoretical frameworks. By setting different levels of examination goals, students can develop programming capabilities from simple to complex program design, laying a good foundation for future specialized programming learning.
In the domestic programming education landscape, programming assessments are actually hosted by several authoritative organizations, including the China Electronics Association and the Ministry of Industry and Information Technology’s Electronics Association. However, among them, since both GESP and CSP are hosted by the China Computer Federation (CCF), GESP is the shortest path to competitions.First of all, among the three programming languages in GESP, graphical programming is divided into levels 1 to 4, while Python and C++ are divided into levels 1 to 8. The questions differ, but the levels are interchangeable. This means that if one achieves Level 4 in Python, they can start from Level 5 in C++ after conversion.There are four offline assessment opportunities each year. The full score is 100 points, and a score of 60 or above is considered passing, while a score of 90 or above allows for level skipping. Levels 1-4 focus on foundational low-level certifications, while levels 5-8 begin to include competition-type questions for advanced certifications.Additionally, according to the latest 2024 GESP and CSP connection methods, passing the GESP C++ Level 7 or 8 with a certain score can exempt one from the preliminary round of CSP-J/S and directly enter the rematch.
Of course, to be “serious,” programming assessments are not mandatory; they are merely a way to verify and provide feedback on children’s progress at a certain stage, as well as training for future competitions.Moreover, the focus of programming learning and assessment preparation is also very dissimilar! For exam preparation, practicing problems is truly essential.The types of questions for C++ Level 1 include 15 multiple-choice questions, 10 true/false questions, and 2 programming questions. This means that to smoothly pass with a score of over 60, one must make no more than 7 mistakes on the true/false questions and correctly complete at least one programming question.The scoring for programming questions is based on whether the key test points can be passed, but some details may cause the first key test point to fail, resulting in no score for the entire question. For example, among the two programming questions in the exam, Guoguo was able to successfully run one at home after reprogramming from memory, but in the exam, she scored 0 on that question.Practicing problems involves doing past exam questions for multiple-choice and true/false questions to familiarize oneself with exam highlights and improve accuracy. Additionally, one can write and automatically score past programming questions on the Luogu website https://www.luogu.com.cn/.
About the choice of whether to pursue the informatics Olympiad path
Currently, under the policy environment, the transition from primary to junior high school is no longer a significant factor to consider. Not to mention higher-level competitions beyond high school, if one hopes to leverage the informatics Olympiad to assist in transitioning from junior high to high school, it is best to obtain a first prize in CSP-J or a second prize in CSP-S by the end of the second year of junior high school. Looking back, this means that formal learning of C++ should ideally start no later than fifth grade.This path means that one must invest a significant amount of time and energy and be mentally prepared for the competition elimination rate. So far, only Zhejiang, Shandong, and Guangdong have incorporated computer programming into the college entrance examination system. For the vast majority of regions, programming learning cannot directly assist in the internal middle and high school examinations.Therefore, it is essential to comprehensively consider the child’s learning interests, abilities, and available teaching resources to set appropriate learning goals and investment levels for programming education.Excellent mathematical thinking ability + a child who enjoys and can persist + excellent teaching resources, all three must come together; otherwise, one must clearly define reasonable learning goals suitable for the child and control time investment.———— / END / ————Recently, due to changes in WeChat’s algorithm, please add our public account to your favorites, or frequently “like,” “view,” and leave comments to share; otherwise, you may not see updates on new articles.
I look forward to your encouragement and communication, hoping that we can grow together on this journey with our children without losing contact.