Informatics
International Olympiad in Informatics
The world's most prestigious computer science competition for school students.
What is IOI?
The International Olympiad in Informatics (IOI) is the world’s biggest programming competition for school students. It challenges teenagers to solve logic, mathematics, and algorithm problems — and turn their ideas into fast, efficient code.
Every year, countries across the globe select their top 4 students to represent them at IOI. These young coders compete for gold, silver, and bronze medals, and a chance to prove themselves on the world stage. It is basically the Olympics of competitive programming for high school students.
IOI started in 1989, first held in Bulgaria, as part of the global scientific Olympiad movement. It has grown from 13 countries in the first edition to more than 90 today. Past IOI participants have gone on to found companies including Quora and Cognition AI, to engineering roles at Google and Meta, and to professorships and research careers worldwide.
Why IOI matters
Scholarships and admissions
IOI medalists are actively sought by MIT, Oxford and Cambridge. Even reaching the national camp strengthens an application substantially.
Global recognition
You represent Pakistan internationally. Former participants work at Google, Meta, DeepMind and Microsoft, and found startups.
Real skill
Algorithms, logic, and efficiency, plus the mental stamina to sit with a problem that does not yield.
Lasting credibility
Being an IOI contestant carries weight in technical circles for life.
It compounds
The same preparation carries into ICPC, research, and technical interviews.
Eligibility
- Not older than 20 on 1 July of the IOI year
- Must not have started university before the autumn of the IOI year
- No lower age limit
Upcoming editions
IOI 2026
Tashkent, Uzbekistan
9–16 AugustIOI 2027
Potsdam, Germany
12–19 SeptemberIOI 2028
Japan
TBAIOI 2029
Bulgaria
TBA
Dates are as announced by the IOI committee — confirm on ioinformatics.org before planning.
Pakistan's pathway to IOI
Round 1
Online qualifier
Registration usually opens around November–December. The test is typically an online Codeforces-hosted contest, sat physically at official centres in major cities. Roughly 50–70 top scorers are shortlisted nationally.Round 2
Advanced round
A harder, supervised coding test, closer to IOI style. The field narrows to roughly the top 15–20. Some years a single combined round shortlists 25–30 students directly for the final.Round 3
Final round and APIO
Shortlisted students take part in the Asia-Pacific Olympiad in Informatics, a prestigious competition in its own right, alongside an IOI-style final. The top 4 form the Pakistan team.The stage
IOI
The team of four represents Pakistan at the International Olympiad in Informatics.
What is competitive programming?
Competitive programming is a mind-sport: you solve hard logic and mathematics problems with code, usually inside one to five hours. Instead of athletic strength you use algorithms, reasoning, and speed.
Typical problems: check whether a very large number is prime; find the shortest route between two cities; given N students and their friendships, count the friend groups.
These need logical thinking, mathematical patterns, algorithmic technique, and clean fast code. This is not app or website building. It is pure problem solving.
Why do it
- Sharper problem-solving and mental agility
- The specific satisfaction of a problem that finally breaks
- Recognition, internships and career routes at the top level
- The entry path to IOI and later ICPC
How to start, from zero
Programming is hard. You will be stuck, confused and frustrated; that is the job, not a sign you are unsuited to it. What decides the outcome is grit, not genius.
Strong reasons: represent Pakistan at IOI, earn a scholarship to MIT or KAIST, love solving logic puzzles, build a future in tech. Write your reason somewhere you will see it.
Weak purpose dies at the first bug. Strong purpose turns bugs into fuel.
C++ is the language used at IOI, runs roughly 30× faster than Python, and is what over 90% of competitive programmers use, so tutorials and solutions are written for it.
Start with syntax, variables and types, cin/cout, loops, conditionals, functions, arrays.
Free resources: w3schools.com and the Apna College C++ playlist on YouTube.
Register at codeforces.com and begin with 800-rated problems: input/output, loops, arrays, strings, basic maths.
Enter rated contests weekly — they are measurements, not exams. Your rating is a thermometer, not a verdict.
Do not use AI, and do not read solutions from YouTube or blogs, while practising. Struggling and retrying is the mechanism by which this skill is built. Using AI during a contest is like driving a car to train for a marathon.
Climb it deliberately. Each rung has a specific set of techniques you should be comfortable with before the next one is realistic — the full table is below, along with a widget that places your own handle on it.
Specialist is realistically enough to clear Pakistan’s first round. Expert puts you in contention for the camp.
The Codeforces rating ladder
| Rating | Rank | What you should be comfortable with |
|---|---|---|
| 0–1199 | Newbie | I/O, arrays, strings, simple loops |
| 1200–1399 | Pupil | Sorting, binary search, basic maths, brute force |
| 1400–1599 | Specialist | Greedy, basic DP, BFS/DFS |
| 1600–1899 | Expert | Advanced DP, segment trees, harder graphs |
| 1900–2099 | Candidate Master | Advanced data structures, flows, number theory |
| 2100–2299 | Master | IOI-competitive |
| 2300+ | International Master / Grandmaster | Elite |
Where are you on the ladder?
Find your rung
Enter your Codeforces handle. We read your public rating and show the next step.
Sent to codeforces.com only. WonderWhyPk never stores your handle.
Practice and reference
YouTube
Algorithms with Shayan
Register free to get contest alerts and the full roadmap
Register freeStart this week.
Register a Codeforces account, solve one 800-rated problem, and enter the next Div. 4 round.
No fees. No spam. Just opportunities.