On this page
If you enjoy puzzles and have written a few programs, the Indian Computing Olympiad (ICO) is worth a look. It rewards clear thinking about algorithms more than knowledge of any one language, and its first round needs no programming at all. This post explains the stages, the dates for the 2027 cycle, what to learn and how to start, with a worked problem.
What is the Indian Computing Olympiad?
According to the IARCS olympiad page, the ICO is a nationwide competition organised every year by the Indian Association for Research in Computing Science. Its goal is to identify school students with outstanding skills in algorithms and programming, and it selects India's team of four for the International Olympiad in Informatics (IOI), first held in Bulgaria in 1989.
It is open to all school students from any board, up to Class 12, with no lower age limit. Once you have completed Class 12 you are no longer eligible, even if you are repeating Class 12 exams.
What are the stages?
The IARCS page describes the stages as:
Zonal Informatics Olympiad (ZIO): a written-style exam. You solve problems with pen and paper and submit only final answers.
Zonal Computing Olympiad (ZCO): a programming exam in C++, Java or Python.
Indian National Olympiad in Informatics (INOI): a programming round. The only language allowed is C++.
IOI Training Camp (IOITC): roughly 30 students are selected from INOI, and the team for IOI is chosen there.
You can take ZIO, ZCO or both, and qualify for INOI through either. India's teams also take part in the Asia-Pacific Informatics Olympiad and the European Girls' Olympiad in Informatics, and IARCS reports that the 2026 Indian team won a silver and a bronze medal at IOI-2026.
What are the dates for the 2027 cycle?
The IARCS current information page, checked in October 2026, gives:
ZIO-2027: Saturday 21 November 2026, 2 pm to 5 pm, as a computerised test on the TCS iON platform at centres in many cities. Online registration was open until Friday 6 November 2026, 9 pm IST, with a fee of 472 rupees (400 plus GST).
ZCO-2027: Saturday 12 December 2026, 2 pm to 5 pm. Registration was expected to open by 30 October.
Dates and fees can change, so confirm them on the IARCS site before you register.
What should you learn?
IARCS says the syllabus for ZIO and ZCO is the list of basic topics in its online study material: efficiency, searching, sorting, basic graph algorithms, dynamic programming, greedy algorithms, shortest paths, heaps, permutations, directed acyclic graphs, prefix sums and sliding windows. INOI and the camp follow the IOI syllabus.
ZIO is a good first step because it tests the thinking without the coding. Since you solve by hand, methods that organise a count or a search carefully are what you need.
Worked example: counting paths
This is a sample problem in the ZIO style, written for this post. A robot starts at the top-left square of a 4 × 4 grid and must reach the bottom-right square, moving only right or down. The square in row 2, column 2 is blocked. How many routes are there?
Method 1: count the complement. Without the block, a route is any order of 3 right moves and 3 down moves, so there are C(6, 3) = 20 routes. Routes through the blocked square: C(2, 1) = 2 ways to reach it, and C(4, 2) = 6 ways to continue to the end, giving 2 × 6 = 12. So 20 − 12 = 8 routes avoid it.
Method 2: dynamic programming. Write in each square the number of ways to reach it: the number above plus the number to the left, with 0 for the blocked square. Row by row:
Row 1: 1, 1, 1, 1
Row 2: 1, 0, 1, 2
Row 3: 1, 1, 2, 4
Row 4: 1, 2, 4, 8
The bottom-right square shows 8, matching method 1. The second method is the one that scales: with ten blocked squares, the complement method becomes messy, but the table does not. In ZCO you would code the same table as a loop over rows and columns, adding the value above and the value to the left.
How should you practise?
Start with past ZIO papers. IARCS links past question papers and solutions from 2003 onwards. Do one paper a week under time, then read the solutions.
Learn one topic a week from the basic list, beginning with sorting, searching and prefix sums.
Write code for each topic and submit it to an online judge such as the IARCS Problems Archive, which checks your program against test cases.
Move to C++ before INOI, since it is the only language allowed there.
The counting tools used in ZIO overlap with school maths; our post on permutations and combinations is a good refresher. If you are also considering maths olympiads, see our guide to IOQM. Parents can read how to support olympiad preparation.
When an algorithm idea such as dynamic programming will not click, the Fermi Concept Library covers every concept in computing and mathematics, each with its own lesson and its place in the map, so you can revisit the idea before the next problem.
Open the IARCS archive tonight and try one past ZIO question without looking at the solution.



