IPG / ALGO / 01
Problem solving for teens
Logic, data structures and algorithms.
Open the syllabusGermany · International Olympiad in Informatics · Potsdam 2027
In September 2027 the International Olympiad in Informatics comes to Germany for the first time since 1992. About 400 contestants from up to 100 countries will spend two days solving algorithm problems at the Hasso-Plattner-Institut in Potsdam. This page explains what the olympiad is, how BWINF chooses the four pupils who represent Germany, who is eligible, and what a family with a strong young programmer can sensibly do now. It is a guide, not a route in: no course, ours included, can place anyone on the team.
Live online since 2020 · 10,000+ students worldwide · algorithms tested the way a grader tests them
In short
The IOI 2027 is the 39th International Olympiad in Informatics, held from 12 to 19 September 2027 at the Hasso-Plattner-Institut in Potsdam. Germany sends four pupils chosen by BWINF from the strongest entrants of the Bundeswettbewerb Informatik. Modern Age Coders is not part of that selection; we teach algorithms and C++ live online in English, to groups of fifteen to twenty or to a single pupil, at each teenager's pace and accent.
Where olympiad-minded teenagers start
The language the German selection trains in, the contest methods behind every olympiad problem, and the German contests that open the door.

IPG / 01
Ages 13 to 18, from zero. BWINF's pre-selection trains in C++, and the IOI names C++ as the language most contestants use.
Open the syllabus →
IPG / 02
For teenagers who can already write simple programs. Graphs, dynamic programming and greedy methods, with stress tests like the one on this page.
Open the syllabus →
IPG / 03
Ages 9 to 19. The Jugendwettbewerb and the Bundeswettbewerb Informatik, the contests through which the German team is chosen.
Open the syllabus →The olympiad
The yearly world championship of school informatics, in BWINF's words. In 2027 it is hosted by the Hasso-Plattner-Institut together with BWINF.
| Question | Answer | Source |
|---|---|---|
| Which edition? | The 39th International Olympiad in Informatics | BWINF |
| When? | 12 to 19 September 2027 | BWINF |
| Where? | Hasso-Plattner-Institut, Potsdam | BWINF and ioi2027.de |
| Hosted by | The HPI together with BWINF | BWINF |
| Germany as host before? | Once, in 1992, in Bonn | BWINF |
| How many expected? | About 400 contestants and up to 1,000 people in all, from 90 to 100 countries | BWINF, 2026 |
| Team size | Four pupils per country | IOI and BWINF |
Sources: BWINF, Informatik-Olympiaden 2027 page and BWINF news of the IOI 2026 results; ioi2027.de; ioinformatics.org, Getting Started. All read on 2 and 3 November 2026.
BWINF describes the format: on two contest days, contestants spend five hours each solving three algorithmic problems at university level, and their programs are checked automatically against test data.
Nobody marks an essay. A solution scores only if it produces correct output, fast enough, on data the contestant never sees.
The IOI regulations say that, ties aside, half of all contestants receive a medal: one twelfth gold, one sixth silver and one quarter bronze.
If exactly 400 compete, that is about 33 gold, 67 silver and 100 bronze medals (our arithmetic). At IOI 2026 in Tashkent, 375 pupils from 92 countries took part and all four German team members won a medal, two silver and two bronze, BWINF reports.
The IOI's own site is direct about entry: participation is not open to individuals, and each country sends a team of four chosen through a national competition. In Germany that competition is the Bundeswettbewerb Informatik, and BWINF has run the German selection since 1989.
Team selection
Over about a year, in stages, starting from the Bundeswettbewerb Informatik. BWINF's pages describe each step.
| Bundeswettbewerb Informatik | Selection | IOI |
|---|---|---|
| 44th (2025 to 2026) | Pre-selection from 5 September 2026 | IOI 2027, Potsdam, 12 to 19 September 2027 |
| 45th (from 1 September 2026) | From the second half of 2027 | IOI 2028, Japan |
Sources: BWINF, Informatik-Olympiaden 2027, Teilnehmen and FAQ pages, and BWINF news of 2026, which names the 45th Bundeswettbewerb as the way into the selection for the IOI 2028 in Japan. Read on 3 November 2026. The second row's timing is our reading of the yearly pattern.
The table carries the most important fact on this page for families. The selection for Potsdam is already under way, among pupils who did well in the 44th Bundeswettbewerb. A teenager who starts serious preparation today is preparing for the 45th Bundeswettbewerb, whose first round closes on 23 November 2026, and through it for later olympiads. The same selection contests also decide Germany's teams for the Baltic and Central European olympiads; BWINF lists the 33rd Baltic Olympiad in Informatics for 14 to 18 April 2027 in Bergen, Norway.
Eligibility
BWINF states three conditions. One of them, the age limit, is worded differently on two of its pages, so check with BWINF for a borderline birthday.
A pupil must still have been at school in the last school year that ends before the IOI, BWINF's Teilnehmen page says.
Nationality does not matter for pupils at a school in Germany: BWINF's FAQ says every pupil attending a school in Germany can become a team member. Only pupils at school abroad need German citizenship or a recognised German school abroad.
BWINF's FAQ says IOI contestants must not have reached their 20th birthday on 1 July of the IOI year. Its Teilnehmen page says they may not be older than 20 on the opening day.
For most pupils both give the same answer. For a birthday close to the limit, ask BWINF before planning; we do not interpret the rule for anyone.
BWINF adds that many Bundeswettbewerb finalists are too old for the IOI by the time the olympiad comes round, because the team competes in the year after the Bundeswettbewerb final. In practice that rewards an early start: the pupils who reach the selection usually first met contest problems several years before.
A lesson of our own
IOI programs are run against hidden test data, so a solution that looks right can still fail. The habit that protects against this is the stress test. The problem and code below are our own, written for this page.
A tram records the number of passengers at each stop. Find the length of the longest stretch of stops where the count rises at every stop. For 3, 5, 7, 2, 8 the answer is 3: the stops with 3, 5 and 7.
A brute force checks every stretch, which is slow but almost impossible to get wrong. A fast solution walks once along the list and keeps the current run.
Write the brute force and the fast version, then generate a thousand small random lists and compare the answers. The first list where they disagree is a gift: a tiny, concrete case that shows the bug.
Small lists matter. Six numbers from 1 to 5 are enough to reach the corner cases, and short enough to check by hand.
import random
def brute(a):
longest = 0
for i in range(len(a)):
for j in range(i, len(a)):
if all(a[k] < a[k + 1] for k in range(i, j)):
longest = max(longest, j - i + 1)
return longest
def fast_first_try(a):
longest, run = 1, 1
for i in range(1, len(a)):
if a[i] > a[i - 1]:
run += 1
else:
longest = max(longest, run)
run = 1
return longest
def fast(a):
longest, run = 1, 1
for i in range(1, len(a)):
run = run + 1 if a[i] > a[i - 1] else 1
longest = max(longest, run)
return longest
def stress(candidate, tests=1000):
random.seed(2027)
for t in range(tests):
a = [random.randint(1, 5) for _ in range(random.randint(1, 6))]
if candidate(a) != brute(a):
return "test " + str(t) + " fails on " + str(a) + ": got " + str(candidate(a)) + ", expected " + str(brute(a))
return "all " + str(tests) + " tests agree"
print("first try:", stress(fast_first_try))
print("fixed:", stress(fast))It prints first try: test 6 fails on [4, 4, 2, 4]: got 1, expected 2 and then fixed: all 1000 tests agree.
The first try looks reasonable and passes the example 3, 5, 7, 2, 8. Its bug only shows when the longest run is at the very end of the list: it updates the longest run found so far only when a run breaks, so a run that is still going when the list ends is never counted. On [4, 4, 2, 4] the final run 2, 4 has length 2, and the first try answers 1. The fix updates that record at every step. The random tester found the bug on its seventh list, in a fraction of a second; a grader with hidden data would have found it too, and taken the points.
For families
Treat the IOI as a horizon, not a target. The contests on the way are worth doing for their own sake, and the skills carry into school Informatik, university and work.
| When | What a pupil can do | Dates as BWINF lists them |
|---|---|---|
| Now | Enter round 1 of the 45th Bundeswettbewerb Informatik, alone or in a team | Until 23 November 2026 |
| Early 2027 | If qualified, round 2 of the 45th Bundeswettbewerb, alone | Early 2027 to April 2027 |
| February to April 2027 | Younger pupils: Jugendwettbewerb Informatik rounds 1 and 2 | 22 February to 7 March and 12 to 25 April 2027 |
| September 2027 | Watch the IOI in Potsdam, and start the 46th Bundeswettbewerb | IOI 12 to 19 September 2027 |
Dates: BWINF, Bundeswettbewerb and Jugendwettbewerb 2027 pages and Informatik-Olympiaden 2027 page, read on 3 November 2026. The sequence is our own suggestion.
C++ and Python, the core data structures, algorithm design, and the testing habit above. Pupils solve problems we write and past problems after their deadlines, and explain every solution aloud in English.
We do not teach the live tasks of any running round, and we never write or submit work for a contest on anyone's behalf.
We are not connected with BWINF, the HPI or the IOI, and we have no role in choosing the German team. No pupil reaches the selection, a camp or a medal because of us; they get there through their own results in BWINF's contests.
What we can promise is narrower and real: patient teaching of hard material, at the pupil's pace.
Class times
Mostly on weekday evenings and at weekends, when a teenager has two clear hours. Our mentors teach from India.
| Germany | India now (until 27 March 2027) | India in summer (from 28 March 2027) |
|---|---|---|
| 17:45 | 22:15 | 21:15 |
| Saturday 13:30 | 18:00 | 17:00 |
| Sunday 15:00 | 19:30 | 18:30 |
| Sunday 09:15 | 13:45 | 12:45 |
Germany's time is set by the Einheitenzeitgesetz: UTC+1 in winter, UTC+2 in summer. Clocks went back on 25 October 2026 and go forward on 28 March 2027. India uses UTC+5:30 throughout, which puts it 4 hours 30 minutes ahead in winter and 3 hours 30 minutes in summer.
Group classes keep the slot their members agreed; one-to-one pupils often add a session before a contest deadline. Choose the trial lesson in whatever clock you live by.
Milestones
Milestones we use for teenagers who want to go far in informatics contests; they set a starting point and make progress visible to parents.
| Stage | Typical time | The pupil can |
|---|---|---|
| 1. A contest language | Months 1 to 4 | Write clean C++ or Python, read input and print exact output |
| 2. Core structures | Months 4 to 9 | Use arrays, maps, stacks, queues and sorting with confidence |
| 3. Testing | From month 6 | Write a brute force and a stress test for every fast solution |
| 4. Algorithm design | Year 2 | Apply graphs, greedy methods, binary search and dynamic programming |
| 5. Contest level | Year 2 and up | Solve Bundeswettbewerb round 2 problems from past years, written up fully |
Every fast solution deserves a slow twin. Compare them before you trust either.
Read last year's Bundeswettbewerb tasks after their deadline and solve them properly. No map of the road is more useful.
The IOI team is four pupils from all of Germany. Value every step on the way, not only the last one.
Encourage the contests with teams, like round 1 of the Bundeswettbewerb. Solving problems with friends keeps the interest alive.
More courses
Taught live, in English, by a mentor who stays with the pupil; each can be booked in a group or one to one.
IPG / ALGO / 01
Logic, data structures and algorithms.
Open the syllabusIPG / ALGO / 02
University-level depth for older pupils.
Open the syllabusIPG / ALGO / 03
Codeforces to ICPC, ages 17 and up.
Open the syllabusIPG / MATHS / 01
Combinatorics and number theory for contests.
Open the syllabusIPG / MATHS / 02
The German maths contests, by Klassenstufe.
Open the syllabusIPG / MATHS / 03
Algebra to calculus, in English.
Open the syllabusIPG / SCHOOL / 01
Oberstufe Informatik, taught in English.
Open the syllabusIPG / SCHOOL / 02
The IB Diploma subject, internal assessment included.
Open the syllabusIPG / SCHOOL / 03
A second contest language.
Open the syllabusHow classes run
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekday evening
Early evening German time, after homework.
Weekend
Longer problem sessions on Saturday or Sunday.
One to one
Set with the mentor around contests and school.
Both contest languages, taught properly.
Every fast solution checked against a slow one.
Old problems after their deadlines only.
Solutions defended in English, step by step.
Hard material, at the pupil's speed.
The same teacher across the year.
Student work
A glimpse of work by our teenage students around the world; the student labs collect more of it.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
Each monthly fee pays for eight live classes. You see it in euro, calculated with the European Central Bank reference rate, while the charge runs in US dollars; your bank makes the conversion, so the final euro figure can move slightly.
Free first class
Free
no card required
Group batch
€90
a month, eight live classes, charged in US dollars
One to one
€134
a month, eight live classes, charged in US dollars
What families say
Our students' and parents' Google reviews, reproduced unchanged.
★★★★★
"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."
Ria Mukherjee
Parent
★★★★★
"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."
Samriddha Mondal
Student
★★★★★
"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."
Vansh Agarwal
Student
★★★★★
"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."
Sonam Oswal
Parent of Dhairya
★★★★★
"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."
Sonu Goyal
Parent
★★★★★
"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."
Ritu Kedia
Parent
Families in Germany ask
BWINF says the 39th International Olympiad in Informatics takes place from 12 to 19 September 2027 at the Hasso-Plattner-Institut in Potsdam, hosted by the HPI together with BWINF. Germany last hosted in 1992, in Bonn.
Only through BWINF's selection, which for 2027 began on 5 September 2026 with pupils invited from the 44th Bundeswettbewerb Informatik. A pupil starting now would aim at the 45th Bundeswettbewerb, which BWINF names as the entry to the selection for the IOI 2028 in Japan.
Not if they attend a school in Germany: BWINF's FAQ says nationality is then irrelevant. Pupils at school abroad need German citizenship or a recognised German school abroad.
BWINF's FAQ says contestants must not have turned 20 by 1 July of the IOI year; another BWINF page says not older than 20 on opening day. For a birthday near the limit, ask BWINF directly.
No. We are not connected with BWINF, the HPI or the IOI and have no part in the selection. The IOI says participation is not open to individuals; teams are chosen through national competitions. We teach the skills, and pupils enter the contests themselves.
C++. BWINF's pre-selection trains in C++, and the IOI names it as the most common language among contestants. Python is a good first language and fine for the Bundeswettbewerb.
No. We teach live and in English only, and the mentor adapts to the pupil's pace and accent. Olympiad problems and code are international, and English is their common language.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Teenagers usually choose an early evening or a weekend slot.
We show fees in euro using the European Central Bank's reference rate and charge them in US dollars, so your bank does the conversion and its euro amount may differ a little. The first class is free.
Elsewhere on this site
Further reading for families with an ambitious young programmer.
Our overview for every learner in Germany.
Machine learning, and Germany's AI contest for pupils.
Proof and rigour, the other half of olympiad work.
German-language help with school Informatik.
How a live class with us runs.
What our students have built.
Start here
In the first class the mentor sets a problem of ours, watches how you approach and test it, and suggests where to start, in English and at your pace. It is a lesson, not a selection test.
For more background, read how we run lessons or scan the course catalogue.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live and online, in English, with mentors who teach from India. WhatsApp us in English for the quickest reply.
A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.
Book a priority demo