Germany · International Olympiad in Informatics · Potsdam 2027

IOI 2027 in Potsdam: a guide for families

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

Three courses on the long road towards the IOI

The language the German selection trains in, the contest methods behind every olympiad problem, and the German contests that open the door.

The olympiad

What is the IOI 2027, and when and where does it happen?

The yearly world championship of school informatics, in BWINF's words. In 2027 it is hosted by the Hasso-Plattner-Institut together with BWINF.

The IOI 2027 at a glance
QuestionAnswerSource
Which edition?The 39th International Olympiad in InformaticsBWINF
When?12 to 19 September 2027BWINF
Where?Hasso-Plattner-Institut, PotsdamBWINF and ioi2027.de
Hosted byThe HPI together with BWINFBWINF
Germany as host before?Once, in 1992, in BonnBWINF
How many expected?About 400 contestants and up to 1,000 people in all, from 90 to 100 countriesBWINF, 2026
Team sizeFour pupils per countryIOI 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.

What contestants actually do

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.

How medals work

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

How is the German IOI team chosen?

Over about a year, in stages, starting from the Bundeswettbewerb Informatik. BWINF's pages describe each step.

  1. The Bundeswettbewerb Informatik. Entering it is a requirement, BWINF's FAQ says. Finalists and other very strong round 2 entrants are invited to the IOI selection if they meet the IOI's rules.
  2. Online pre-selection. For the 2027 team it began on 5 September 2026 with 72 participants, invited from the 44th Bundeswettbewerb. Training runs online on Saturdays, with about 15 coaches, all former participants, each pupil with a personal coach. The language is C++.
  3. Two qualification contests in November. They decide who is invited to the in-person selection.
  4. Selection camps. BWINF's pages describe three Lehrgänge, each with two selection contests, together with talks on algorithms and problem-solving strategies. After the second camp about six or seven pupils go on to the third.
  5. The team of four. Places in the selection contests decide the teams for the Baltic, Central European and International olympiads.
Which Bundeswettbewerb feeds which IOI
Bundeswettbewerb InformatikSelectionIOI
44th (2025 to 2026)Pre-selection from 5 September 2026IOI 2027, Potsdam, 12 to 19 September 2027
45th (from 1 September 2026)From the second half of 2027IOI 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

Who is eligible for Germany's IOI team: age, school and nationality?

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.

School and nationality

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.

Age, in BWINF's two wordings

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

How are IOI solutions judged, and how can a pupil test like the grader?

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.

The problem (ours)

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.

The stress test

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.

A brute force, a first try, a fix and a stress testPython
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.

  1. Reproduce it. Run the code. Then trace fast_first_try on [4, 4, 2, 4] by hand and find the moment it goes wrong.
  2. Break it again. Change the fixed version so the run continues when two counts are equal. Does the stress test catch your new bug, and on which list?
  3. Port it. Write the brute force and the fixed solution in C++, the language of BWINF's pre-selection, and compare them with the same random lists.
  4. Going further. Change the generator to produce lists of length 1. Which of the three functions has a problem with an empty list, and should the task allow one?

For families

What can a family in Germany sensibly do in 2026 and 2027?

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.

A realistic sequence of contests (our suggestion, with BWINF's dates)
WhenWhat a pupil can doDates as BWINF lists them
NowEnter round 1 of the 45th Bundeswettbewerb Informatik, alone or in a teamUntil 23 November 2026
Early 2027If qualified, round 2 of the 45th Bundeswettbewerb, aloneEarly 2027 to April 2027
February to April 2027Younger pupils: Jugendwettbewerb Informatik rounds 1 and 222 February to 7 March and 12 to 25 April 2027
September 2027Watch the IOI in Potsdam, and start the 46th BundeswettbewerbIOI 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.

What we teach

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.

What we never claim

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

When do algorithm classes run in German time?

Mostly on weekday evenings and at weekends, when a teenager has two clear hours. Our mentors teach from India.

Example times in Germany and the same moment in India
GermanyIndia now (until 27 March 2027)India in summer (from 28 March 2027)
17:4522:1521:15
Saturday 13:3018:0017:00
Sunday 15:0019:3018:30
Sunday 09:1513:4512: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

From a first algorithm to olympiad-level problems

Milestones we use for teenagers who want to go far in informatics contests; they set a starting point and make progress visible to parents.

Olympiad informatics milestones (ours)
StageTypical timeThe pupil can
1. A contest languageMonths 1 to 4Write clean C++ or Python, read input and print exact output
2. Core structuresMonths 4 to 9Use arrays, maps, stacks, queues and sorting with confidence
3. TestingFrom month 6Write a brute force and a stress test for every fast solution
4. Algorithm designYear 2Apply graphs, greedy methods, binary search and dynamic programming
5. Contest levelYear 2 and upSolve Bundeswettbewerb round 2 problems from past years, written up fully

For pupils

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.

For parents

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

Nine more courses for serious young programmers

Taught live, in English, by a mentor who stays with the pupil; each can be booked in a group or one to one.

I

Algorithms

Ages 13 and up

IPG / ALGO / 01

Problem solving for teens

Logic, data structures and algorithms.

Open the syllabus

IPG / ALGO / 02

Data structures and algorithms

University-level depth for older pupils.

Open the syllabus

IPG / ALGO / 03

Competitive programming

Codeforces to ICPC, ages 17 and up.

Open the syllabus
II

The maths underneath

Ages 12 and up

IPG / MATHS / 01

Maths olympiad

Combinatorics and number theory for contests.

Open the syllabus

IPG / MATHS / 02

Mathematik-Olympiade

The German maths contests, by Klassenstufe.

Open the syllabus

IPG / MATHS / 03

High school maths

Algebra to calculus, in English.

Open the syllabus
III

School computing

Oberstufe and IB

IPG / SCHOOL / 01

Informatik Abitur in English

Oberstufe Informatik, taught in English.

Open the syllabus

IPG / SCHOOL / 02

IB Computer Science

The IB Diploma subject, internal assessment included.

Open the syllabus

How classes run

How live algorithm classes work for teenagers in Germany

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.

C++ and Python

Both contest languages, taught properly.

Stress tests

Every fast solution checked against a slow one.

Past rounds

Old problems after their deadlines only.

Explained aloud

Solutions defended in English, step by step.

Honest pace

Hard material, at the pupil's speed.

One mentor

The same teacher across the year.

Student work

Projects built by our students

A glimpse of work by our teenage students around the world; the student labs collect more of it.

NutriLife AI nutrition coach project screenshot

AI and ML

NutriLife

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

by Bhavya · Open it

Misti AI chatbot for maths and coding screenshot

AI and ML

Misti

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

by Harshit · Open it

GuardianX AI internet safety assistant screenshot

AI and ML

GuardianX

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

by Vivaan · Open it

SkyCast weather forecast application screenshot

Web app

SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

Fees for algorithm classes

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

  • A free first class
  • One problem of ours at your level
  • No card needed
Book it

Group batch

€90

a month, eight live classes

  • Fifteen to twenty teenagers of a similar level
  • One regular mentor
  • Two classes a week
  • Monthly, end it any time
Start here

One to one

€134

a month, eight live classes

  • One pupil, one mentor
  • A problem list built for you
  • Times agreed together
Enquire

What families say

Rated 4.9 across 547 Google reviews

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

IOI 2027 in Potsdam: common questions

When and where is the IOI 2027?

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.

Can my child still get into the German team for Potsdam?

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.

Does my child need German citizenship?

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.

How old can an IOI contestant be?

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.

Can you get my child into the IOI selection?

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.

Which programming language should my teenager learn?

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.

Are the classes in German?

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.

When are classes in German time?

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.

How are fees charged?

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

Related pages

Further reading for families with an ambitious young programmer.

Coding classes in Germany

Our overview for every learner in Germany.

AI and machine learning in Germany

Machine learning, and Germany's AI contest for pupils.

Abitur maths in English

Proof and rigour, the other half of olympiad work.

Informatik-Nachhilfe online

German-language help with school Informatik.

How we teach

How a live class with us runs.

Student labs

What our students have built.

Start here

Book a free algorithm class

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.

No card is asked for the free first class.

Want a class sooner? Book a priority demo

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

Keep exploring Modern Age Coders

Related courses and guides

Learn more

Free resources

From the blog

Start here

Free classPriority demoCall us