On this page
Competitive programming means solving short, precisely stated puzzles by writing code that a judge runs against hidden test cases within a time limit. You do not need a paid course to begin. You need one language, a small set of algorithms and a weekly contest habit.
Which programming language should you learn first?
In India, the main school-level contest is the Indian Computing Olympiad, run by IARCS. Its first-round programming exam, the Zonal Computing Olympiad (ZCO), supports C++, Java and Python, but the second round, INOI, allows only C++, according to the IARCS olympiad page. The page says any student registered in school up to Class 12, from any school board, is eligible, and there is no lower age limit.
Never coded before? Start with Python, so you can focus on logic rather than syntax. Our guide on whether a teenager can learn Python on their own covers the first steps.
Comfortable with loops and lists? Move to C++ early, because INOI requires it.
Either way, the IOI syllabus treats language basics as knowledge every contestant is expected to have: variables, simple input and output, conditions, loops, functions, arrays and strings.
What algorithms do you need to know first?
The IARCS olympiad page says the syllabus for the first round, ZIO and ZCO, is the list of Basic Topics on its study material page. That list includes efficiency, searching, sorting, greedy algorithms, prefix sums, sliding windows, basic graph algorithms, shortest paths and dynamic programming. You do not need college maths: the IOI syllabus explicitly excludes calculus, trigonometric functions and complex numbers. You do need comfort with integers, remainders and careful counting.
If an idea such as modular arithmetic or permutations feels shaky, the Fermi Concept Library has a lesson for every concept in mathematics and computing, so you can fix the gap before it slows your code.
A worked example: why efficiency is the whole game
Binary search, which the IOI syllabus lists among its algorithms, shows why contests care about speed. Suppose you have 10 lakh roll numbers in sorted order and must check whether one number is in the list.
Check one by one: up to 10,00,000 comparisons per question.
Binary search: look at the middle, discard the half that cannot contain the number, and repeat. Since 2 to the power 20 is 10,48,576, you need at most 20 comparisons.
Scale it: for 1 lakh questions, that is up to 10,000 crore comparisons against about 20 lakh. Only the second is likely to finish inside a typical time limit.
Both programs are short. The difference is the idea, and that is what contests test.
Where should school students practise?
AtCoder Beginner Contests run roughly weekly and are rated for participants up to a rating of 1999, per the AtCoder contest list. The early problems in each set are the easiest place to start.
Past ZCO and INOI problems are on CodeChef's ZCO and INOI practice page, where the IARCS problems archive link now leads.
Mentoring: IARCS links SPOI, a mentoring programme for ZCO, INOI and IOITC by past IOITC participants.
The habit that matters most is upsolving: after each contest, solve the problems you could not finish, opening the editorial only when you are truly stuck.
What does a 12-week starter plan look like?
Weeks 1 to 4: learn the language. Write a few tiny programs each week that read input and print output exactly as asked.
Weeks 5 to 6: sorting, binary search and prefix sums. Solve about 10 easy problems on each.
Weeks 7 to 8: greedy ideas and simple recursion. Enter one beginner contest a week.
Weeks 9 to 10: basic graphs (BFS and DFS) and your first dynamic programming problems.
Weeks 11 to 12: two past ZCO papers under timed conditions, then upsolve every question.
If you are unsure where to begin in a given week, Fermi's AI tutor can work out what you already know and build a plan for the session, so you sit down to a clear next step.
What should parents know?
About 30 students from INOI go to the IOI Training Camp, and a team of four represents India at the International Olympiad in Informatics, according to IARCS. The same page lists special admission procedures for students selected for the camp at institutions including IIT Kanpur, IIT Gandhinagar and IIIT Hyderabad, and asks families to check criteria with each one. Most students will not reach the camp, and that is fine: the problem-solving practice still helps.
A better weekly question than “What rating did you get?” is “Which problem did you upsolve, and what was the idea?” If your child is also preparing for JEE, see our plan for olympiads alongside JEE. For what comes after school, read from computing olympiad to college competitive programming.



