CTE / LANG / 01
Java for teens
The language of Oberstufe Informatik in many Länder.
Open the syllabusGermany · Teenagers · Ages 13 to 18
Between Klasse 7 and the Abitur, a teenager in Germany may get four compulsory hours of Informatik, one lesson a week, or nothing at all, depending on the Land. This page sets out what each Land gives, how Informatik counts once the Oberstufe starts, which contests are open to teenagers in 2026 and 2027, and a Python project that checks the KMK's own Abitur average formula against its official table, and finds the trap in it.
Teaching live since 2020 · 10,000+ students worldwide · teenagers write every line themselves
In short
Modern Age Coders teaches coding to teenagers in Germany, ages 13 to 18, in live online classes in English: Python first, then Java, web development or the Informatik of the Oberstufe. One regular mentor matches each teenager's pace and accent. They sit beside school Informatik rather than replace it, after school or at weekends, with fifteen to twenty teenagers in a class or one teenager alone.
Where to start
A general course for any teenager who wants to code properly, one that follows school Informatik up to Klasse 10, and one for the Oberstufe and the Abitur.

CTE / 01
Ages 13 to 18. From the first variable to files, classes and a real project, at whatever pace the teenager can keep up with school.
Open the syllabus →
CTE / 02
Alongside Informatik at school: algorithms, data, networks and programming, mapped to what the Land actually teaches, in English.
Open the syllabus →
CTE / 03
Java and Python for the Einführungsphase and the Qualifikationsphase: objects, data structures, databases and automata.
Open the syllabus →Informatik in Klasse 7 to 10
The answer changes at the Land border. The Gesellschaft für Informatik collects the rules of all sixteen Länder every year, and its 2026/27 Informatik-Monitor is the clearest single source for the years from Klasse 7 to Klasse 10.
| Land | What the Informatik-Monitor reports |
|---|---|
| Baden-Württemberg | Compulsory Informatik und Medienbildung across school types from 2025/26, starting in Klasse 5 and 6 and growing a year at a time |
| Bayern | Mittelschule: one lesson a week in Klasse 5 to 10. Gymnasium: an Informatik focus in Klasse 6 and 7, compulsory Informatik in Klasse 9 and 10 on the NTG branch |
| Berlin | A one-hour course, ITG, in Klasse 7 or 8; otherwise an elective |
| Brandenburg | Elective only, for example in Klasse 9 and 10 at a Gymnasium |
| Bremen | No Informatik in the curriculum before the Oberstufe in 2026/27; compulsory at all schools from 2027/28 |
| Hamburg | Four compulsory weekly hours since 2025/26, which each school spreads over Klasse 7 to 10 |
| Hessen | Nothing compulsory; an elective from Klasse 7 at a Gymnasium |
| Mecklenburg-Vorpommern | Informatik und Medienbildung in Klasse 5 to 10 at every school type, at least one hour a week |
| Niedersachsen | Compulsory in Klasse 9 and 10 at every general school type since 2024/25 |
| Nordrhein-Westfalen | Compulsory in Klasse 5 and 6 at every general school type |
| Rheinland-Pfalz | 21 profile schools teach it in Klasse 5; compulsory at all schools from 2028/29 |
| Saarland | Gemeinschaftsschule and nine-year Gymnasium: two hours in Klasse 7 and 8, one hour in Klasse 9 and 10 |
| Sachsen | One hour a week in Klasse 7 to 10, at Oberschule and Gymnasium |
| Sachsen-Anhalt | Sekundarschule and Gemeinschaftsschule: one hour a week in Klasse 6 to 10; Gymnasium elective only |
| Schleswig-Holstein | Compulsory at all school types since 2024/25, four weekly hours in total across Klasse 7 to 10 |
| Thüringen | Medienbildung und Informatik since 2024/25, now in Klasse 5 to 7 and reaching Klasse 10 in 2029/30 |
Source: Gesellschaft für Informatik, Informatik-Monitor 2026/27, one page per Land and the national overview, read on 2 November 2026. The Monitor compiles each Land's own ordinances. The short wording in the right-hand column is ours.
A teenager in Hamburg or Schleswig-Holstein will have met four hours of compulsory Informatik somewhere between Klasse 7 and 10. One in Nordrhein-Westfalen had theirs in Klasse 5 and 6 and may have nothing more until the Oberstufe. One at a Gymnasium in Hessen or Brandenburg may never have had a compulsory lesson at all.
According to the national overview of the Monitor, no Informatik is required of every pupil in six Länder: Berlin, Brandenburg, Bremen, Hessen, Rheinland-Pfalz and Sachsen-Anhalt.
Even in the Länder that teach the most, one or two lessons a week shared with thirty classmates leaves little time to write and debug a program of any size. School lays the ground; fluency comes from hours at the keyboard.
That is the gap a teenager's coding class fills. Ours follows what the Land teaches when a learner asks for it, and otherwise goes as far as the teenager wants to go.
From Klasse 10 to the Abitur
Yes, where the school offers it. The KMK places Informatik in the same field of subjects as maths and the sciences, and many Länder let it be taken as a Grundkurs or a Leistungskurs.
KMK rules divide the Oberstufe into two parts: a one-year Einführungsphase followed by a two-year Qualifikationsphase. The marks that count towards the Abitur come from the four half-years of the Qualifikationsphase, called Block I, and from the Abitur exams themselves, Block II.
Before that comes Klasse 10, the year of the Mittlerer Schulabschluss. Berlin awards the MSA after Klasse 10, and Nordrhein-Westfalen sets central ZP10 exams at the end of Klasse 10 in German, maths and English; the decree for the 2027 exams is already published.
The Informatik-Monitor 2026/27 puts the national figure at about 15 percent of pupils taking Informatik in the Qualifikationsphase. In Sachsen and Mecklenburg-Vorpommern it is about half; in Baden-Württemberg, Niedersachsen and Bremen it is roughly one pupil in twelve.
In Nordrhein-Westfalen Informatik can be taken in the Qualifikationsphase as a three-hour Grundkurs or a five-hour Leistungskurs, and the written Abitur in Informatik is done without a computer. Programming on paper is a skill of its own, and one we practise.
| Grade (Note) | Points | In words |
|---|---|---|
| 1 | 15, 14 or 13 | sehr gut |
| 2 | 12, 11 or 10 | gut |
| 3 | 9, 8 or 7 | befriedigend |
| 4 | 6, 5 or 4 | ausreichend |
| 5 | 3, 2 or 1 | mangelhaft |
| 6 | 0 | ungenügend |
Source: KMK, Vereinbarung zur Gestaltung der gymnasialen Oberstufe und der Abiturprüfung, decision of 7 July 1972 as amended on 6 June 2024, section 9.2 and Anlagen 3 and 4; KMK page on Sekundarstufe II; berlin.de, Prüfungen und Abschlüsse; NRW Ministry of Schools, Zentrale Prüfungen 10. Read on 2 and 3 November 2026. The grade names in the last column are the standard German ones.
The same KMK agreement says Block I is worth at most 600 points and Block II at most 300, so the Abitur total can reach 900, and at least 300 are needed to pass. It also prints a formula and a table that turn the total into the average grade on the certificate. A teenager who codes can check one against the other, which is exactly the project below. We teach alongside school and award no grades; the school course and the Abitur are the ones that count.
A project on a real rule
Anlage 4 of the KMK agreement gives the average grade as five and two thirds minus the total points divided by 180, and then prints a table of 31 rows from 900 points down to 300. A program that follows the formula should match the table at every one of those 601 whole scores. The first attempt does not.
Write a function that takes the total points, a whole number from 300 to 900, and returns the average grade with one decimal, exactly as the table prints it. Then test the function against every score in every band of the table.
Typing the 31 bands by hand invites mistakes, so the program builds them: the top band is 823 to 900, then each band is 18 points lower than the one above, down to 301 to 318, and 300 alone gives 4.0. We compared this list with the table in the KMK document line by line and they agree.
How to turn a written rule into code, how to test that code against a published source rather than against your own expectations, and why "round to one decimal" is not always what a rule means.
None of this needs an account, an AI tool or anything beyond Python itself.
# The KMK formula for the Abitur average: N = 5 2/3 - E / 180
def average_v1(points):
return round(17 / 3 - points / 180, 1)
# the KMK table in Anlage 4, as (lowest, highest, average)
bands = [(823, 900, 1.0)]
for k in range(1, 30):
bands.append((823 - 18 * k, 840 - 18 * k, round(1.0 + k / 10, 1)))
bands.append((300, 300, 4.0))
def check(average):
wrong = [p for lo, hi, note in bands for p in range(lo, hi + 1) if average(p) != note]
print("Scores checked:", sum(hi - lo + 1 for lo, hi, _ in bands), " Mismatches:", len(wrong))
return wrong
wrong = check(average_v1)
print("First mismatch:", wrong[0], "points ->", average_v1(wrong[0]))It prints Scores checked: 601 Mismatches: 320 and First mismatch: 823 points -> 1.1.
More than half of the 601 scores come out wrong. At 823 points the formula gives 1.094, Python rounds it to 1.1, and the table says 1.0. The table does not round: it cuts the number off after the first decimal. There is a second problem at the top. At 900 points the formula gives 0.67, but there is no grade better than 1.0, so the table stops there.
def average_v2(points):
tenths = (1020 - points) // 18 # (17/3 - E/180) x 10, cut off, in whole numbers
return max(10, tenths) / 10 # the table never goes better than 1.0
wrong = check(average_v2)
for points in (900, 823, 822, 300):
print(points, "points ->", average_v2(points))Run after Version 1 in the same file. It prints Scores checked: 601 Mismatches: 0, then 900 points -> 1.0, 823 points -> 1.0, 822 points -> 1.1 and 300 points -> 4.0.
Version 2 multiplies the formula by ten and keeps it in whole numbers: ten times five and two thirds minus E over 180 is 1,020 minus E, divided by 18. Integer division with // cuts off the remainder exactly, with none of the tiny errors that decimal fractions carry inside a computer, and max(10, ...) stops the grade at 1.0. Every one of the 601 scores now matches the KMK table.
round with int(n * 10) / 10 and test again. Does it fix both problems, or only one?Formula and table: KMK, Vereinbarung zur Gestaltung der gymnasialen Oberstufe und der Abiturprüfung, Anlage 4, as amended on 6 June 2024, read on 3 November 2026. The code, the band list, the counts and the practice tasks are our own. A real Abitur certificate is issued by the school under the Land's own rules.
Contests for teenagers
The Bundesweite Informatikwettbewerbe, BWINF, run a ladder that starts with a quiz and ends at the International Olympiad in Informatics, which Germany hosts in 2027.
| Contest | Who it is for | Dates |
|---|---|---|
| Jugendwettbewerb Informatik | Levels Bronze for Klasse 5 and 6, Silber for 7 to 9, Gold from Klasse 10 | Round 3, with the Bundeswettbewerb: entries by 23 November 2026 |
| Bundeswettbewerb Informatik, 45th | Young people up to 21 who are not yet studying or working | Round 1: 1 September to 23 November 2026; round 2: early 2027 to April 2027; round 3: September 2027 |
| International Olympiad in Informatics | The German team, chosen from the top finishers of the Bundeswettbewerb | 12 to 19 September 2027, Hasso-Plattner-Institut, Potsdam |
Source: bwinf.de, pages on the Jugendwettbewerb, the Bundeswettbewerb and IOI 2027, read on 2 November 2026. Round 1 of the Bundeswettbewerb allows group work; round 2 must be done alone.
We are not connected with BWINF and never reuse its tasks. Our mentors invent fresh problems in a similar spirit: read a precise statement, find an algorithm, prove to yourself that it handles every case, then write it up so that someone else can follow. A teenager who can do that for the Abitur table above is already practising the habit these contests reward. Our German informatics competitions course works through it step by step.
AI and age
Not in our teen classes. They are built so that a thirteen year old needs no account with any AI provider.
OpenAI's terms set 13 as the minimum age for ChatGPT and require a parent's or guardian's permission under 18. Anthropic's terms make Claude available to adults of 18 and over only. Our AI tools age guide quotes each provider's terms in full, with the date we read them.
Teenagers write their programs themselves and the mentor reads every line with them. When AI comes up, it comes up as something to build and question, in plain Python, never as a tool that writes the homework. Courses that use adult-only tools are kept for learners of 18 and over.
Class times
Mostly after school on weekdays, or on a weekend. The mentor teaches from India, where the clock is ahead of Germany all year.
| Germany | India, winter (to 28 March 2027) | India, summer (from 28 March 2027) |
|---|---|---|
| 14:15 | 18:45 | 17:45 |
| 16:15 | 20:45 | 19:45 |
| Saturday 11:30 | 16:00 | 15:00 |
| Sunday 14:00 | 18:30 | 17:30 |
Germany keeps Central European Time, UTC+1, in winter and summer time, UTC+2, from the end of March, under the Einheitenzeitgesetz. The clocks went back on 25 October 2026 and go forward again on 28 March 2027. India stays on UTC+5:30, so it is 4 hours 30 minutes ahead in winter and 3 hours 30 minutes in summer.
These are examples, not fixed batches. When you book the free first class you choose a time in your own German clock. Many teenagers move to a weekend slot in the weeks before Klausuren or the ZP10, and a one-to-one learner can agree that with the mentor at short notice.
Milestones
The milestones we use to place a teenager and to report progress to parents. They are ours, not a school standard.
| Stage | Typical start | The teenager can |
|---|---|---|
| 1. Python basics | Month 1 | Use variables, loops and conditions to solve a small puzzle |
| 2. Functions and tests | Months 2 to 3 | Split a problem into functions and test each one, like the Abitur table above |
| 3. Data and files | Months 4 to 5 | Read a CSV file, count and sort what is in it |
| 4. Objects and Java | Months 6 to 8 | Write classes in Python or Java, as the Oberstufe expects |
| 5. A project | Months 9 and up | Plan, build and explain a program of their own choice |
Test your code against something you did not write yourself.
If a rule says one decimal, find out whether it rounds or cuts off.
Ask your teenager to show you a program running, not a certificate.
Progress in coding is uneven. A week of no visible progress is often the week before a breakthrough.
More for teenagers
All nine are taught live and in English, and a teenager keeps the same mentor whether they join a class or learn alone.
CTE / LANG / 01
The language of Oberstufe Informatik in many Länder.
Open the syllabusCTE / LANG / 02
Pages that react, and small browser games.
Open the syllabusCTE / LANG / 03
The contest language of the olympiad route.
Open the syllabusCTE / BUILD / 01
A whole website, front to back.
Open the syllabusCTE / BUILD / 02
Models built and tested in Python.
Open the syllabusCTE / BUILD / 03
Saving and sharing code the way teams do.
Open the syllabusCTE / EXAM / 01
Original problems in the style of the German contests.
Open the syllabusCTE / EXAM / 02
Analysis, geometry and Stochastik for the Abitur.
Open the syllabusCTE / EXAM / 03
For teenagers on the IB Diploma in Germany.
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.
After school
From about 14:00 German time, once lessons end.
Weekends
Late mornings and early afternoons, Saturday or Sunday.
One to one
Agreed with the mentor, and moved around Klausuren.
The teenager writes and runs the code in every class.
Programs are tested against real rules and data.
The mentor adjusts speed and wording to the learner.
A familiar face every week, who learns the teenager's habits.
Nothing that a provider restricts to 18 and over.
Fifteen to twenty teenagers, or one with a mentor.
Student work
A few projects by our students around the world are shown below; the student labs page collects many 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
Each month of classes means eight live lessons for one fee. We show that fee in euro, converted at the reference rate of the European Central Bank, but the payment itself goes through in US dollars, and your bank does the conversion, so your statement may show a slightly different euro amount.
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
What students and parents have written about us on Google, as they wrote it.
★★★★★
"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
Parents and teenagers ask
No. Every class is live and taught in English only, by a mentor who matches the teenager's pace and accent. For a pupil at a German school that means coding and English practice in the same hour.
Not at all. Our teen Python course starts from the first line, and teenagers usually move faster than younger children because they already know the maths and logic school has taught them.
It depends on the Land. According to the Informatik-Monitor 2026/27, Hamburg and Schleswig-Holstein require four hours across Klasse 7 to 10 and Sachsen one hour a week, while Berlin, Brandenburg, Bremen, Hessen, Rheinland-Pfalz and Sachsen-Anhalt have no Informatik that is compulsory for everyone. The table on this page lists all sixteen.
Yes, if the teenager wants that. The mentor can follow the school topics, from algorithms in Klasse 7 to Java classes in the Qualifikationsphase. We teach alongside school and give no grades; the school course is the one that counts.
Python, in most cases. It is short to write and easy to read. Many Oberstufe Informatik courses use Java, so a teenager heading that way usually adds Java after a few months of Python.
Yes. BWINF says young people up to 21 who are not yet studying or working may take part. Round 1 of the 45th Bundeswettbewerb runs from 1 September to 23 November 2026, and group work is allowed in that round. We are not connected with BWINF.
No. Our teen classes need no AI account at all. OpenAI's terms require a parent's permission under 18 and Anthropic's terms restrict Claude to adults, so we keep adult-only tools out of every class for under-18s.
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 come after school from about 14:00, or at the weekend.
The fee is shown on this page in euro at the European Central Bank reference rate and taken in US dollars, which your bank converts. Nobody pays for the first class, and we ask for no card.
Either. Group classes have fifteen to twenty teenagers of a similar level with one mentor; one-to-one classes follow a single teenager's plan and timetable.
Elsewhere on this site
More for teenagers and families in Germany.
Every page we have written for Germany.
Help with school Informatik, in German.
The structure of the maths Abitur, explained.
Models built from first principles, from 13.
Minimum ages from each provider's own terms.
What happens in a live class.
Start here
In the first class the mentor finds out what the teenager already knows and what they would like to build, gives them a short task at that level and suggests a course, all in English and at their speed.
If you would rather read more first, see how we teach or look through all our courses.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Every class is live online in English, with mentors based in India. WhatsApp is the fastest way to reach us, in English.
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