How Non-Computer Science Parents Can Guide Their Children in Learning C++ Programming for the Olympiad

My child is 12 years old this year and has been learning C++ programming for the Olympiad for over a year. Most of my son’s programming learning has been through self-study and my guidance. As a non-computer science professional, how did I assist my child in learning? Let me explain.

2. Learning Programming Together

Although I am not a computer science major, I have always wanted to learn programming, so I searched online for C++ programming courses and started coding with my son.

During the summer vacation of his fifth grade, I watched videos with my son every night.

We started learning from input and output, and whenever the teacher in the video wrote code, my son and I would write it together.

I wrote on a desktop computer while my son used a laptop with Dev C++ software.

During the coding process, we often competed to see who could finish first.

Since I type faster than him, I often finished first. However, as my son typed more on the computer, his coding speed also increased rapidly.

The earlier content we learned was relatively simple, and I could understand it. Whenever my son encountered concepts he didn’t understand, I would pause the video to explain.

Thus, during the summer vacation, we learned basic content together, such as sequential structures, branches, one-dimensional arrays, multi-dimensional arrays, strings, functions, structures, and base conversions.

Since my son was on summer vacation and we didn’t enroll him in any interest classes or tutoring, he had plenty of time apart from his summer homework.

However, I had to work during the day, and if I only studied with him at night, it wouldn’t fully utilize his time and wouldn’t be beneficial for his learning progress.

At that time, I knew there was a CSP-J/S exam in October, and I planned to let him experience the atmosphere of the exam.

After all, it was unrealistic to expect him to achieve a CSP score after just two months of self-study.

After accompanying my son in coding for a while, I started letting him watch videos on his own while practicing writing code along with the teacher in the video.

Fortunately, my son could understand most of the content on his own, and I would check his self-study progress in the evenings and explain any areas he didn’t understand.

The explanations I provided were mostly related to mathematical concepts, as my son was only in fifth grade and was not familiar with many higher-level math concepts.

Before long, the time for the 2024 CSP exam arrived, and my son successfully participated in it. After two months of study, he entered the CSP exam room for the first time.

In my son’s words, the exam was a mix of guessing and luck, and he scored over 30 points in CSP-J. (This time was mainly to gain experience, so we didn’t focus too much on the score, and I forgot the exact number.)

Looking back now, we made a mistake at that time by not practicing, meaning we didn’t do any exercises after class.

As my son continued to self-study through videos, we also learned about algorithms.

3. Why We Didn’t Enroll in a Class

Since I am not a professional in the field, why didn’t we enroll in a professional institution for C++ Olympiad training?

I discussed the option of enrolling in a class with my son.

Worried that he might not understand the video content, I frequently asked him if he could follow along.

My son always said he could understand!

Since he could understand, and I could explain the mathematical concepts, was it really the best choice to attend classes with a group of people?

I also inquired with training institutions, and most of them wanted to assess the child’s learning progress before placing them in a class. I had seen the chaotic classroom environment in his LEGO interest class.

Honestly, the learning efficiency in such a noisy classroom was not high.

Additionally, the cost of learning was not cheap, and since my son had not yet completed the basic content, I didn’t see much benefit in attending classes.

By watching videos, we could control the pace of learning, and we had a lot of flexibility in scheduling.

We could study on weekday evenings or increase the learning pace on weekends. This way, we didn’t have to worry about others’ progress; we could arrange everything according to our own time and pace.

Attending a training institution mainly depends on the teacher’s instruction on C++ content.

Since my son was still learning the basics, he was not yet at a level where he needed to improve his competitive skills, so I didn’t insist on enrolling him in an offline institution.

As long as my son could understand the material, I could let him continue learning while I provided guidance.

However, this year, I am hesitating about whether to enroll him in an offline institution. As for the reason, I will explain next time.

November 9, 2025

Thank you for reading, and I appreciate your likes and follows. Let’s communicate and share to make life better!

Series of Articles on Non-Computer Science Parents Guiding Their Children in Learning Olympiad Programming:How Non-Computer Science Parents Help Their Children Start Learning Olympiad ProgrammingMy Son’s Semi-Final, Insights from a Gold Medal Coach at Yali NOI, A Regular Child’s Journey to Winning Gold in 2025

Leave a Comment