BIN / LANG / 01
C++ for teens
The language of the IOI selection, from zero.
Open the syllabusGermany · Bundeswettbewerb Informatik · Up to age 21
The Bundeswettbewerb Informatik is not a quiz. It hands out real problems, gives weeks to solve them at home in any programming language, and then judges how well the solution is explained as much as whether the program works. This page covers the 45th round from BWINF's own pages, who may enter, what a submission must contain, and a worked problem of our own that shows the skill the contest rewards most: knowing how much work your program does before you run it.
Live online since 2020 · 10,000+ students worldwide · algorithms explained, measured and written up
In short
Bundeswettbewerb Informatik preparation at Modern Age Coders is a live online class in English for teenagers in Germany, part of our German Informatics Competitions course. Pupils learn the algorithms, data structures and clear written explanations the contest asks for, using problems we write ourselves and past rounds after their deadlines. One regular mentor matches each pupil's pace and accent, in a group of fifteen to twenty or one to one.
Where Bundeswettbewerb pupils start
One made for the German contests, one for teenagers who already program and want contest-level algorithms, and one for those who still need a first language.

BIN / 01
Ages 9 to 19. From Biber puzzles to Bundeswettbewerb algorithms, with a weekly problem set and a monthly mock contest under contest rules.
Open the syllabus →
BIN / 02
Ages 13 to 18 who can already write basic programs. Greedy methods, graphs, dynamic programming and the habit of testing on hard cases.
Open the syllabus →
BIN / 03
For teenagers starting from zero. Python is a fine contest language, and the junior tasks of round 1 are within reach after a solid first year.
Open the syllabus →The 45th Bundeswettbewerb
In three rounds over about a year. The first two are solved at home; the third is an invitation-only final with interviews.
| Round | Dates | Tasks | How pupils work |
|---|---|---|---|
| Round 1 | 1 September to 23 November 2026 | Seven offered: five tasks and two junior tasks; at least three to be solved | Alone or in a team; group work is allowed |
| Round 2 | Early 2027 to April 2027 | Three offered, two to be solved | Alone only |
| Round 3, the final | September 2027 | Team problems and one-to-one interviews | About 30 invited, on site for 3 to 4 days |
Sources: BWINF, Bundeswettbewerb Informatik overview, FAQ, Teilnehmen and 45th round pages (bwinf.de/bundeswettbewerb/), read on 3 November 2026. BWINF says round 2 tasks are available by Christmas and that round 1 results arrive by the end of the year.
BWINF's FAQ says a pupil reaches round 2 by solving at least three tasks largely correctly in round 1, alone or with others. If more than three are handed in, the three strongest count. Junior tasks count too, for those allowed to do them.
The junior tasks are reserved for pupils who have not yet entered the Qualifikationsphase of the Abitur. In 2026 they are also the tasks of the third round of the Jugendwettbewerb Informatik.
BWINF reports 1,790 participants in the 43rd Bundeswettbewerb. That is a small field compared with the hundreds of thousands who sit the Informatik-Biber, which is part of why a well documented round 1 entry gets serious attention.
BWINF's FAQ describes round 3 as a colloquium: each finalist talks with an informatics expert from a school and one from a university, and works with others on two problems.
Eligibility
Young people up to 21 who are not yet at university or in work, and who meet a residence or school rule. Citizenship is one route, not the only one.
BWINF's Teilnehmen page sets the cut-offs for this round: participants must be born after 23 November 2004, and must be German citizens, or live in Germany from 1 September to 23 November 2026, or attend a recognised German school abroad.
Excluded are those who had finished an (informatics) training or started work by 1 September 2026, or who study at a university in the winter semester 2026/27 and no longer attend school. A gap year, such as voluntary service, does not exclude anyone.
A pupil who lives in Germany during round 1 is eligible whatever their passport, on BWINF's wording, and whatever kind of school they attend. That includes many teenagers at international schools.
Registration is individual: a pupil signs up at login.bwinf.de and founds a "team", even when working alone. No school coordinator is needed, although many schools do support their entrants.
Rules on residence and age are BWINF's, and BWINF decides any doubtful case. We quote them here as published on 3 November 2026; if a pupil's situation is unusual, the right step is an email to the Bundeswettbewerb office, not a guess on our part.
The submission
For every task: a PDF explaining the idea and the program, enough worked examples, the key parts of the source code, and the program itself. A good explanation does not need to be long, BWINF says, but it must include every example given on the task sheet.
Source: BWINF, Einsenden page and Bundeswettbewerb FAQ (bwinf.de/bundeswettbewerb/einsenden/ and /haeufige-fragen/), read on 3 November 2026. The numbered order is our summary.
BWINF allows AI tools such as ChatGPT or Copilot in the first two rounds, provided the pupil understands what they hand in, develops the solution themselves and documents every tool used. It recommends doing the tasks mostly without AI, because the contest is there for learning. In the final there is no AI and no technical aid at all.
Our classes follow the stricter path: pupils under 18 do not use adult-only tools with us, and we train the reasoning a pupil needs when no tool is in the room.
BWINF states that no solution ideas or programs may be published before the deadline, and asks pupils who use Git to keep their repositories private.
So until 23 November 2026 we do not discuss the live round 1 tasks in class at all, and this page names none of them. We teach the methods with our own problems and with past rounds whose deadlines are over.
A worked problem, ours
This problem was written by Modern Age Coders for this page; it is not from any BWINF round. It shows the habit that separates a passing Bundeswettbewerb entry from a strong one: count how many steps a method needs, before and after you improve it, and prove both versions give the same answer.
Pupils stand in one row for a class photo, front to back. A pupil's view is blocked by anyone taller who stands in front of them. Count the blocked pairs: pairs where the pupil nearer the front is strictly taller.
Small example: heights 150, 140, 160 and 135 cm. The blocked pairs are 150 before 140, 150 before 135, 140 before 135 and 160 before 135, so the answer is 4.
Slow but obviously right: compare every pair. With n pupils that is n(n-1)/2 comparisons, which is 499,500 for a row of 1,000.
Fast and also right: sort the row by merging halves, the method called merge sort. Each time a pupil from the back half is placed before pupils still waiting in the front half, every one of those waiting pupils is taller and stands in front, so all of them form blocked pairs and can be counted at once.
import random
def blocked_pairs_slow(heights):
steps = 0
count = 0
for i in range(len(heights)):
for j in range(i + 1, len(heights)):
steps += 1
if heights[i] > heights[j]:
count += 1
return count, steps
def blocked_pairs_fast(heights):
steps = 0
def sort_count(row):
nonlocal steps
if len(row) <= 1:
return row, 0
mid = len(row) // 2
left, a = sort_count(row[:mid])
right, b = sort_count(row[mid:])
merged, count, i, j = [], a + b, 0, 0
while i < len(left) and j < len(right):
steps += 1
if left[i] <= right[j]:
merged.append(left[i]); i += 1
else:
merged.append(right[j]); j += 1
count += len(left) - i
merged += left[i:] + right[j:]
return merged, count
_, count = sort_count(heights)
return count, steps
random.seed(2026)
for n in [1000, 2000, 4000]:
row = [random.randint(120, 190) for _ in range(n)]
slow = blocked_pairs_slow(row)
fast = blocked_pairs_fast(row)
print(n, "pupils | blocked pairs", slow[0], fast[0], "| steps", slow[1], "vs", fast[1])It prints 1000 pupils | blocked pairs 253662 253662 | steps 499500 vs 8711, then 2000 pupils | blocked pairs 980650 980650 | steps 1999000 vs 19382 and 4000 pupils | blocked pairs 3912401 3912401 | steps 7998000 vs 42726.
| Pupils in the row | Blocked pairs | Every pair | Merge count |
|---|---|---|---|
| 1,000 | 253,662 | 499,500 | 8,711 |
| 2,000 | 980,650 | 1,999,000 | 19,382 |
| 4,000 | 3,912,401 | 7,998,000 | 42,726 |
Heights are random whole numbers from 120 to 190 cm, fixed by random.seed(2026) so that anyone running the code gets the same rows. The counts are our own output, run with Python 3 on 3 November 2026.
Both methods agree on every row, which is the first thing a careful entrant checks. Then look at how the work grows. Doubling the row from 2,000 to 4,000 pupils multiplies the every-pair method by four, from 1,999,000 to 7,998,000 comparisons, while the merge method only a little more than doubles, from 19,382 to 42,726. On a row of a million pupils, the first method would need about half a million million comparisons; the second, a few tens of millions. A Bundeswettbewerb write-up that states this growth, shows the measured counts and explains why the faster method is still correct is exactly the kind of documentation BWINF asks for.
What it leads to
More than a certificate, according to BWINF, though nothing on this list can be promised to anyone in advance.
| Stage | What BWINF describes |
|---|---|
| Round 1 | Invitations to workshops at universities and companies, such as the HPI Fit-For-BWINF workshop |
| Round 2 | Can count as the besondere Lernleistung in the Abitur, depending on the Land and the school |
| Round 3 | National winners are admitted to the Studienstiftung des deutschen Volkes |
| Top of the contest | Up to 20 of the strongest are considered for the selection of Germany's team at the International Olympiad in Informatics |
Sources: BWINF, Bundeswettbewerb overview and FAQ, and BWINF, Informatik-Olympiade Teilnehmen page, read on 3 November 2026.
The Abitur point is worth reading twice: whether round 2 can replace the besondere Lernleistung is decided by the Land and the school, so a pupil should ask the school before relying on it. We teach alongside school and grant no German qualification; the school decides what counts there. Our role is to make the work itself strong: correct, efficient, tested and clearly explained.
Class times
Teenagers mostly choose the late afternoon or a weekend slot. Our mentors teach from India, where the clock runs ahead of Germany.
| Start in Germany | India until 27 March 2027 | India from 28 March 2027 |
|---|---|---|
| 16:15 | 20:45 | 19:45 |
| 18:00 | 22:30 | 21:30 |
| Saturday 11:00 | 15:30 | 14:30 |
| Sunday 14:00 | 18:30 | 17:30 |
The Einheitenzeitgesetz puts Germany on UTC+1 in winter and UTC+2 in summer. Summer time ended on 25 October 2026 and resumes on 28 March 2027. India does not change its clocks (UTC+5:30), so the gap is four and a half hours until late March and three and a half after.
Rounds 1 and 2 run while school does, so one-to-one pupils often move their lesson nearer a deadline, and back again afterwards. The free first class is booked in your own clock.
Milestones
Milestones we use for Bundeswettbewerb pupils; they decide where a new pupil starts and give parents a clear picture of progress.
| Stage | Typical time | The pupil can |
|---|---|---|
| 1. Reading input | Month 1 | Read a task's example file, store it in lists and dictionaries, and print it back |
| 2. Correct and slow | Months 2 to 3 | Solve a problem by trying every case and prove it on all given examples |
| 3. Counting steps | Months 3 to 5 | Say how the work grows with the input, and measure it |
| 4. Correct and fast | Months 5 to 9 | Use sorting, graphs, greedy methods and dynamic programming where they fit |
| 5. A full write-up | From month 6 | Produce the PDF and ZIP for three tasks to the standard BWINF describes |
A slow program that is right beats a fast one that is wrong. Get it right, then make it fast.
Write the explanation while you code, not on the last evening. BWINF says writing takes longer than you think.
Round 1 allows teamwork, so a classmate or two can share the load and the learning.
Ask your teenager to show you the PDF, not the code. If you can follow the idea, a juror will too.
More courses
Each one is taught live in English by the same mentor every week, in a group of up to twenty or as private lessons.
BIN / LANG / 01
The language of the IOI selection, from zero.
Open the syllabusBIN / LANG / 02
Objects and types, as many schools teach.
Open the syllabusBIN / LANG / 03
Logic and data structures, step by step.
Open the syllabusBIN / SCHOOL / 01
Java and Python for the Oberstufe.
Open the syllabusBIN / SCHOOL / 02
For pupils on the IB Diploma.
Open the syllabusBIN / SCHOOL / 03
Cambridge 0478, for international schools.
Open the syllabusBIN / NEXT / 01
University-level DSA, in depth.
Open the syllabusBIN / NEXT / 02
Codeforces to ICPC, for older learners.
Open the syllabusBIN / NEXT / 03
For a later BWKI project.
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.
Late afternoon
After school, from about 16:00 German time.
Weekend
Saturday or Sunday, for longer problem sessions.
One to one
Agreed with the mentor, closer to deadlines if needed.
Written for teaching, never the live round.
Every solution is explained in words first.
Pupils measure how their program grows.
PDFs drafted to BWINF's structure.
A monthly contest under time pressure.
One person who knows the pupil's code.
Student work
A small sample of what our teenage students around the world have built; the student labs page holds more.

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
A monthly fee covers eight live classes. The amount is displayed in euro after conversion at the European Central Bank's reference rate; the charge is processed in US dollars, and your bank converts it, so the euro sum on your statement may not match to the cent.
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
Google reviews from our students and their families, shown as they were written.
★★★★★
"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
Pupils and parents ask
No. Every class is live and in English only, with a mentor who adjusts to the pupil's pace and accent. The contest itself accepts any programming language, and code is written in English keywords either way.
BWINF gives 23 November 2026 as the deadline for round 1 of the 45th Bundeswettbewerb Informatik. Round 2 follows from early 2027 to April 2027, and the final is in September 2027.
On BWINF's rules for the 45th round, yes if you live in Germany from 1 September to 23 November 2026, or attend a recognised German school abroad. You must also be born after 23 November 2004 and not yet studying or working.
No. BWINF does not allow solution ideas to be published before the deadline, so we do not discuss live tasks until 23 November 2026. We teach the methods with our own problems and with past rounds whose deadlines are over.
BWINF sets no restriction. Python is quick to write and a sensible choice for round 1; Java and C++ are common too. Pick the language you can explain most clearly.
BWINF allows AI tools in rounds 1 and 2 if you understand and develop the solution yourself and document every tool, and recommends working mostly without them. AI is not possible in the final. OpenAI's own terms require a parent's permission under 18.
No. You register yourself at login.bwinf.de and found a team, even if you work alone. Your school may still support you, and round 1 allows teamwork with classmates.
BWINF says round 2 can count as the besondere Lernleistung, depending on the Land and the school. Ask your school. We do not award German grades or qualifications.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Most teenagers choose a late afternoon or a weekend slot.
The page shows the fee in euro, converted at the European Central Bank's reference rate, and the payment goes through in US dollars, which your bank converts. The free first class needs no card.
Elsewhere on this site
More for teenagers in Germany who like hard problems.
Every Germany page in one overview.
The proof habits that algorithm write-ups need.
Models, baselines and the BWKI.
School Informatik support, written in German.
Our live lessons, explained.
Work by our students.
Start here
In the first class the mentor sets one of our problems, watches how you plan and code it, and suggests the right course and starting point, in English and at your pace.
If you would rather read on first, try how a lesson runs or the full course list.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
We teach live online and only in English; the mentors are based in India. WhatsApp in English gets the fastest 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