Skipping Scratch to Learn C++? Wrong! The Correct Approach to Olympiad Programming for Parents!

Many parents around me want their children to pursue the Olympiad programming path, but they are often troubled by questions like: “Is it suitable for a first grader to learn programming?” “Can we skip Scratch and go straight to C++?” “How should GESP and CSP-J be connected?”

As a practitioner deeply involved in Olympiad education for many years, I have seen too many children take detours due to improper planning—some blindly practice problems at a young age, which extinguishes their interest; some miss the opportunity for stratification in middle grades, making it hard to catch up later; and others focus solely on competitions, neglecting cultural subjects, ultimately missing out on special talent qualifications.

Today, I will share a verified Olympiad programming plan for grades 1-9, which has been validated by thousands of children, without reservation. From early enlightenment to middle school sprinting, I will clearly explain what to learn, what to test, and which competitions to aim for at each stage, helping you avoid pitfalls and steadily unlock the pathway to becoming a technology special talent.

First, understand: Why is Olympiad programming the first choice for technology special talents?

Among all technology special talent tracks, Olympiad programming (Informatics Olympiad) is undoubtedly the “king of cost-effectiveness”:

  • Wide recognition: A nationally unified selection standard, recognized from elementary to high school, unlike robotics or innovation projects that are heavily influenced by regional resources and subjective evaluations;
  • High value: Awards from competitions like CSP-J/S and NOIP are the “stepping stones” to top high school Olympiad experimental classes, and some high schools even offer lower admission scores or priority admission policies;
  • Predictable potential: A child’s acceptance of graphical programming at a young age, the completeness of project execution, and their ability to find bugs can already indicate their potential in Olympiad programming later on.

The key is that Olympiad learning emphasizes “step-by-step progress”; there are no shortcuts, but finding the right rhythm allows every child to maximize their potential.

Skipping Scratch to Learn C++? Wrong! The Correct Approach to Olympiad Programming for Parents!

1. Early Enlightenment Stage (Grades 1-3): Developing Logical Thinking Through Play, Planting the Seeds of Olympiad Programming

The core of grades 1-3 is not to learn code or practice problems, but to let children “feel logic” through graphical programming while assessing whether they are suited for the Olympiad path. This stage acts as a “touchstone”; interest and thinking are more important than certificates.

Grade 1: From “Physical” to “Graphical”, Helping Children Understand “Instructions”

First graders have limited vocabulary and short attention spans, so do not force them to learn complex content. The focus is to help them understand that “pressing an instruction leads to a corresponding action”:

  • Start with physical programming: For example, using a programming robot, pressing the forward button makes the robot move forward, allowing children to intuitively feel the “connection between instructions and actions”;
  • Then try Scratch Jr: Without learning complex operations, teach them to add their favorite characters (like Peppa Pig), change backgrounds, and create a simple “character walking” animation;
  • Introduce basic logic: Occasionally mention “sequence execution” (move then jump) and “loops” (repeat moving 3 steps), without rote memorization of concepts; as long as the child can understand, that is sufficient.

At this stage, there is no need for grading! As long as the child can independently complete a small animation and can tell you, “I used the ‘move’ block to make Peppa move forward,” that is enough. Parents should focus on observing whether the child will actively change block combinations to see what different actions the character can perform. Children who are willing to explore independently will find it easier to learn programming later on.

Grade 2: Advancing in Scratch, Mastering “Tools for Problem Solving”

If a child is interested in programming in grade 1, they can systematically learn Scratch in grade 2 (those with weak foundations or limited vocabulary can delay this). At this stage, teach children to use Scratch to solve simple problems:

  • Focus on learning: conditional statements (if hitting a wall, turn around), variables (recording scores), and simple game creation (like “cat catching mouse”);
  • Connect to CIE Level 1 certification: This is an official authoritative certification that can verify the child’s learning outcomes, focusing on conditional statements, variables, and simple games, which is much more meaningful than a “water certificate”;
  • Try low-age group competitions: Participate in city-level information literacy enhancement practical activities, without pursuing awards, just to see if the child’s work has clear rules and can interact, and whether the logic is coherent.

Important Reminder:

Many parents want to skip Scratch and go straight to C++, which I sincerely do not recommend! Children in grades 2-3 have not yet developed strong abstract thinking, and learning text-based code directly can easily lead to frustration. I have seen several children who learned C++ online and passed the certification, but when it came to practical operations offline, they couldn’t even find that “the conditional statement was reversed”; their foundation was particularly weak.

Additionally, it is essential to observe the child’s “error correction ability”: If the character in their work does not move as expected, will the child independently check, “Is it because the block order is wrong?” If they only cry for help from parents or are unwilling to correct it, they need more guidance—self-correction is a core ability in Olympiad programming, and early cultivation will yield benefits.

Grade 3: Sprinting for Low-Age Group Competitions, Training “Complex Project Abilities”

Grade 3 is the “sprint period” of the early stage (it can also be extended to grade 4 depending on the situation), with the goal of enabling children to work on “multi-module collaborative” projects, laying the groundwork for learning code later:

  • Focus on breakthroughs in Scratch: Learn “event triggers” (the character only moves when the screen is clicked), “lists” (recording scores of multiple characters), and “custom blocks” (turning commonly used actions into a block, like “dance = move + rotate”), which is the embryonic form of “function thinking”;
  • Introduce simple algorithms: For example, enumeration (finding even numbers between 1-10 by checking one by one), sorting (arranging 3 numbers in ascending order), without going into depth, just understanding “what it is” is sufficient;
  • Grading and competitions: Aim for CIE Level 2 or 3, focusing on multi-module collaboration and project optimization; target national youth information literacy competitions for the low-age group and provincial programming competitions for the low-age group, aiming for first prize in provincial competitions—high-value awards can boost children’s confidence.

Parents should focus on: Can the child create a “multi-character collaborative” project? For example, in “cat catching mouse,” the cat needs to move, the mouse needs to run, scores need to be recorded, and there should be judgments for victory and defeat. Children who can integrate these logics will have stronger abilities to break down complex algorithm problems later.

If a child can pass CIE Level 3 in grade 3 and also win first prize in provincial competitions, it indicates they are very suitable for the Olympiad path, and they can directly enter the excellent tier in middle grades!

Skipping Scratch to Learn C++? Wrong! The Correct Approach to Olympiad Programming for Parents!

2. Transition Stage for Middle Grades (Grades 4-6): Stratified Advancement, Smooth Transition to Text-Based Programming

Grades 4-6 are the “watershed” for the Olympiad path, where children should be stratified based on their certification results and competition performance to avoid a “one-size-fits-all” approach to learning. Stratification is not about differential treatment, but about allowing each child to progress at a pace that suits them.

Stratification Standards (Objective, Not Subjective)

  • Excellent Tier: Passed CIE Level 3-4 and won awards in city-level or higher competitions → Outstanding logic and project abilities, directly learn C++ (the core language of Olympiad programming);
  • Ordinary Tier: Passed CIE Level 1-2, average performance in competitions → First learn Python as a transition, then switch to C++ later.

Grade 4: Ordinary Tier Learns Python, Excellent Tier Goes Straight to C++

Ordinary Tier (Python Transition)

Python has a simple syntax, making it very suitable as the first text-based programming language:

  • Focus on learning: basic syntax (defining variables, print output, writing comments), if-else conditional statements, for loops;
  • Goal: Be able to use Python to solve simple problems, such as “calculating the sum of 1-10” or “determining if a number is even”;
  • Grading and competitions: Take CIE Python Level 1 (to verify entry-level effectiveness), participate in city-level programming competitions in the Python group, and complete 2-3 simple programming problems.

Excellent Tier (Direct Entry into C++)

Children in the excellent tier have strong abstract thinking and can skip Python to learn C++ directly:

  • Focus on learning: First install Dev-C++ (a commonly used compiler for competitions), learn to create projects and run code; then learn basic syntax (data types, input/output, if-else);
  • Connect to GESP C++ Level 1: This is an entry-level certification for Olympiad programming launched by CCF (China Computer Federation), which is highly valuable; passing it means having the foundation for Olympiad competitions;
  • Competitions: Participate in the national youth information literacy competition high-age group C++ group, aiming for a city-level second prize or higher, focusing on whether the code can compile and run, and whether the logic is correct.

Grade 5: Ordinary Tier Deepens Python, Excellent Tier Advances in C++

Ordinary Tier (Deepening Python)

There is no need to learn advanced Python content; the focus is on enhancing the “ability to handle complex problems”:

  • Focus on learning: while loops, list and tuple operations, enumeration methods (trying to find answers one by one, such as “finding prime numbers under 100”);
  • Grading and competitions: Take CIE Python Level 2, participate in the city-level informatics programming competition for elementary school, and complete 2 loop application problems;
  • Advancement signal: If the child can successfully pass CIE Python Level 2 and independently solve loop application problems, they can transition to C++ early.

Excellent Tier (Deepening C++)

This stage should incorporate core modules of Olympiad programming to lay the foundation for competitions:

  • Focus on learning: for loops, arrays (defining and traversing, such as storing the scores of 5 students), function definitions and calls (turning commonly used code into functions for reuse);
  • Connect to GESP C++ Level 2: Focus on arrays, functions, and for loops, which are core foundations for Olympiad competitions;
  • Competitions: Participate in the provincial informatics competition for elementary school, aiming for a provincial third prize or higher, to test the application ability of arrays and functions.

Grade 6: Ordinary Tier Transitions to C++, Excellent Tier Reaches Olympiad Algorithms

Ordinary Tier (C++ Transition Connection)

The core logic of Python and C++ is similar, making the transition straightforward:

  • Focus on learning: syntax differences (Python uses print, C++ uses cout; Python does not require semicolons, C++ does);
  • Goal: Quickly convert the logic from Python into C++ code, such as writing C++ to “calculate the sum of 1-100”;
  • Grading and competitions: Take GESP C++ Level 1 (with a Python foundation, it can be passed in a short time), participate in the city-level programming competition C++ group, and complete 2 simple algorithm problems.

Excellent Tier (Introduction to C++ Algorithms)

In grade 6, the focus shifts from “learning syntax” to “learning algorithms,” which is key for Olympiad competitions:

  • Focus on learning: bubble sort optimization (making sorting faster), recursion (breaking complex problems into smaller ones, such as “calculating factorial”);
  • Connect to GESP C++ Level 3: Focus on algorithm optimization and recursion basics; passing this indicates the development of algorithmic thinking for Olympiad competitions;
  • Competition preparation: Practice CSP-J preliminary simulation questions, aiming for a correctness rate of over 60%, to familiarize with basic computer questions and algorithm logic questions for middle school competition warm-up.

Skipping Scratch to Learn C++? Wrong! The Correct Approach to Olympiad Programming for Parents!

3. Middle School Sprinting Stage (Grades 7-9): Focusing on Competitions, Aiming for Special Talent Qualifications for High School

The core goal for the three years of middle school is clear: to win awards in core competitions like CSP-J/S and NOIP while ensuring cultural subjects meet standards (usually 80% of the total score in the high school entrance examination), successfully becoming a technology special talent.

Grade 7: Solidifying Basic Algorithms, Aiming for CSP-J

In grade 7, the focus is on solidifying the basic algorithms of Olympiad programming in preparation for the first important competition, CSP-J:

  • Focus on learning: recursion and recurrence (deriving recurrence formulas, such as “Fibonacci sequence”), greedy algorithms (local optimal solutions leading to global optimal solutions, such as “change-making problem”), and simple dynamic programming (initial understanding of state definitions and transition equations);
  • Connect to GESP C++ Level 4: To verify mastery of basic algorithms;
  • Competition aim: Pass the preliminary round of CSP-J (correctness rate over 60%, testing computer basics + syntax logic), with the goal for the ordinary tier to aim for provincial second prize (to qualify for special talent registration) and the excellent tier to aim for provincial first prize (to attract attention from quality high schools).

Grade 8: Breaking Through Core Algorithms, Aiming for CSP-S and NOIP

In grade 8, the focus is on conquering core algorithms of Olympiad programming and sprinting towards higher-level competitions:

  • Focus on learning: advanced dynamic programming (0-1 knapsack, LIS longest increasing subsequence), basic graph theory (graph storage, BFS breadth-first search, DFS depth-first search), and data structures (stacks, queues);
  • Connect to GESP C++ Level 5: Focus on dynamic programming, graph theory, stacks, and queues, which are core points for CSP-S;
  • Competition planning: Ordinary tier aims for provincial third prize in CSP-S (to enhance award portfolio); excellent tier aims for provincial first prize in CSP-S while also participating in the provincial NOIP competition (an authoritative Olympiad event with high value), aiming for provincial second prize or higher—this award can significantly enhance competitiveness for special talents.

Grade 9: Sprinting for Competitions + Preparing for High School, Securing Special Talent Qualifications

Grade 9 is the “final stage,” where it is essential to maintain competition results, prepare for high school entrance, and balance cultural subjects—all three are indispensable.

1. Learning Focus: Strengthening Weaknesses + Real Questions + Cultural Subjects

  • Algorithm weaknesses: Focus on weak modules from grades 7-8 (such as complex dynamic programming, graph theory optimization, binary trees) to break through, especially tackling difficult points like “multiple knapsack” and “Floyd’s shortest path”;
  • Practice real questions: Solve the past 5 years of CSP-S finals and provincial NOIP competition questions, simulating the 3-hour competition time to improve timed problem-solving efficiency and code correctness;
  • Balancing cultural subjects: Reserve 2-3 hours daily to review mathematics, English, and physics, ensuring that the minimum cultural subject requirements for the target high school special talents are met—otherwise, no matter how good the competition awards are, they won’t matter.

2. Grading and Competitions: Supplementing as Needed

  • GESP Grading: For those who did not pass GESP C++ Level 5 in grade 8, aim for Level 6 in grade 9; passing with a high score can serve as a supplement to abilities; for those who have passed, focus on competitions;
  • Supplementing competitions: For those who did not perform well in NOIP in grade 8, participate in the whitelist competitions in the first half of grade 9 (such as the national youth information literacy competition) to supplement 1-2 city-level or higher awards;
  • Preparing for special talent tests: Understand the testing format of the target high school in advance (written tests on algorithm logic, practical tests on on-site programming, interviews on project defense), practice past real questions, simulate on-site programming, and prepare defense scripts (for example, “When I participated in NOIP, how I solved the technical difficulties of XX”).

3. High School Preparation: Organizing Materials + Paying Attention to Timelines

  • Organizing achievements: Compile all relevant materials from the Olympiad programming phase in middle school, including competition certificates (CSP-J/S, NOIP), GESP certificates (Level 4 and above), code portfolios (competition problem codes with annotations), and proof of technology club participation (such as serving as a technical leader), binding them according to the requirements of the target high school;
  • Key timelines (subject to local notifications):
    • March-April: Pay attention to the special talent enrollment guidelines of the target high school, complete online registration and material submission;
    • May-June: Participate in special talent written tests, practical tests, and interviews, with a full simulation one week in advance;
    • After the high school entrance examination: If admitted, prepare in advance for high school Olympiad knowledge (such as advanced features of C++, complex algorithms) to lay the groundwork for high school NOI provincial competitions.

4. Tier Goals

  • Ordinary Tier: Provincial second prize or above in CSP-S + meeting cultural subject standards, using “awards + complete materials” to strive for special talent qualifications, applying for “safety high school + target high school” to increase admission probability;
  • Excellent Tier: Aiming for provincial first prize in NOIP and CSP-S, connecting with high school “lower admission scores” and “priority admission” policies, securing top high school Olympiad experimental classes.

Skipping Scratch to Learn C++? Wrong! The Correct Approach to Olympiad Programming for Parents!

Finally, it is important to say: There is no “early or late” in Olympiad programming, only “right or wrong”

Learning Olympiad programming is not better the earlier it is done; the key is to find the right stage and rhythm: in the early stage, focus on interest and thinking; in middle grades, focus on stratification and transition; in middle school, focus on competitions and high school preparation.

Every child’s talent and foundation are different; there is no need to compare progress with others—children in the ordinary tier can still make a comeback in the middle school sprinting stage; children in the excellent tier should not be complacent, as cultural subjects and competitions are equally important.

If parents can follow this plan and accompany their children step by step, they will not only gain awards in Olympiad competitions but also cultivate their children’s logical thinking and problem-solving abilities, which will benefit them for a lifetime.

I hope this guide can help you avoid detours and allow your child to steadily progress on the Olympiad path, ultimately unlocking the admission code for technology special talents!

The End

For more exciting content, please continue to follow us.◆◆Follow our public account for more exciting content

Leave a Comment