CMA / SEK / 01
Informatik Companion
Algorithms and programming beside the ITG and the elective.
Open the syllabusBerlin · Coding and maths · Klasse 7 to Abitur, and adults
Berlin treats its two thinking subjects very differently. Maths is compulsory to the end, and its Abitur shares tasks and dates with other Länder through the IQB pool; Informatik is optional, and its written Abitur is drafted by the pupil's own teachers, with a computer allowed. This page explains both systems from the MSA to the Abitur, the 2026/27 holidays, how our live classes in English work for teenagers and adults, and a statistics project on the Senate's own data about fibre connections at Berlin schools. Families with younger children will find our page on coding for Berlin kids more useful.
Live online classes since 2020 · more than 10,000 students worldwide · taught in English by a mentor you keep
In short
Modern Age Coders offers coding and maths classes in Berlin as live online lessons in English for teenagers and adults, in a group of fifteen to twenty or one to one. Pupils get Informatik help from Klasse 7, Java or Python for the Oberstufe and Abitur maths practice in English; adults learn Python, data and AI from scratch. Berlin has no compulsory Informatik for everyone, so most pupils start coding outside school.
Berlin starting points
One for the Informatik course in the Oberstufe, one for the Abitur maths exam, and one for pupils who like hard problems for their own sake.

CMA / 01
Ages about 15 to 19. Object orientation, data structures, databases and automata in Java or Python, with exam-style tasks written on and off the computer.
Open the syllabus →
CMA / 02
Ages about 16 to 19. Analysis, analytic geometry and stochastics in the IQB pool format, Part A without aids and Part B with them, on problems we write ourselves.
Open the syllabus →
CMA / 03
Ages about 8 to 18. Problem solving by Klassenstufe for the Olympiad rounds and the Känguru, original problems only.
Open the syllabus →Informatik in Berlin
No. Berlin offers a short required course and then electives. The details below come from the Gesellschaft für Informatik's Informatik-Monitor 2026/27, which compiles the Berlin ordinances.
| Stage | Grades | What is on offer |
|---|---|---|
| ITG, all school types | 7 or 8 | Informationstechnischer Grundkurs, one lesson a week |
| Wahlpflicht Informatik | 9 and 10 | Elective, usually two lessons a week, or three in one of the two years |
| Einführungsphase, ISS and Gemeinschaftsschule | 11 | Elective Informatik, two to three lessons a week |
| Qualifikationsphase | last two years | Grundkurs, three lessons a week, or Leistungskurs, five |
| Abitur | final year | Written exam in the Leistungskurs; Grundkurs as written, oral or presentation subject |
Source: Gesellschaft für Informatik, Informatik-Monitor 2026/27, Berlin page, read 2 November 2026, citing the Sekundarstufe I-Verordnung and the Verordnung über die gymnasiale Oberstufe. A school can also offer the elective earlier, in grades 7 or 8, as part of its profile. The GI's national summary names Berlin among six Länder without Informatik that is compulsory for all pupils and says no binding plans to change that are known.
Here Berlin differs from Baden-Württemberg, Bavaria or Saxony. The monitor records that written Informatik Abitur tasks in Berlin are developed decentrally: the teachers of a course submit two task proposals, and one of them is chosen. Work at a computer is permitted in every task of each proposal, limited to the parts where it is needed for the subject, and the teacher lists the aids pupils will receive.
For a pupil this means two things. The exam follows their own course closely, and practical programming can be part of it. Both make steady programming practice through the Qualifikationsphase worth more than last-minute cramming.
The monitor gives 12 % as the share of Berlin upper secondary pupils taking Informatik in 2024/25, from KMK figures, a little under the national average of about 15 % it quotes. For 2025/26 it reports 470 Informatik teachers in Berlin, 3 % of all teachers, and 19 new Informatik teachers hired in the year.
Informatik can be the second to fifth Abitur subject, the monitor notes, but not the first, and it cannot replace the science a pupil must take.
The practical upshot for a Berlin family is that a teenager who wants to program seriously usually has to choose it: the elective in grade 9, then a course in the Oberstufe if the school runs one. We teach alongside that choice, or instead of it when a school does not offer the course, and in both cases the school's own course is what counts for the Abitur. We do not set, mark or award school grades.
Berlin schools
Six years of primary school, then three secondary school types, and two speeds to the Abitur, in a Land of 3,685,265 people (Destatis, 31 December 2024) where the city and the Land are one.
The monitor describes a primary stage of grades 1 to 6 at the Grundschule or the Gemeinschaftsschule. Some Gymnasien, called grundständig, take pupils from grade 5 instead.
From grade 7 pupils attend a Gemeinschaftsschule, an Integrierte Sekundarschule (ISS) or a Gymnasium. The KMK names the ISS as Berlin's school that combines all tracks.
At the Gymnasium the Oberstufe runs from grade 10 to 12 (G8). At the ISS and the Gemeinschaftsschule grade 11 is the Einführungsphase and the Abitur comes after grade 13 (G9).
At the end of grade 10 a Berlin pupil can gain the Mittlerer Schulabschluss (MSA), and after grade 9 the Berufsbildungsreife, as the Senate's page on exams and qualifications describes. Maths is part of the MSA, and the KMK has had one combined set of maths standards for the Erster Schulabschluss and the MSA since its version of 23 June 2022, built on five Leitideen: number and operations, measurement, structures and functions, space and shape, and data and chance.
Maths in Berlin
Unlike Informatik, maths draws on tasks shared between the Länder. The facts here come from the Institut zur Qualitätsentwicklung im Bildungswesen (IQB), which coordinates the shared pool.
| Feature | Leistungskurs (raised level) | Grundkurs (basic level) |
|---|---|---|
| Working time, including choice time | 300 minutes | 255 minutes |
| Total marks (Bewertungseinheiten) | 100 | 80 |
| Part A, no aids, handed in within | 110 minutes | 100 minutes |
| Topics in both parts | Analysis, analytic geometry or linear algebra, stochastics | The same three areas |
Source: IQB, Abitur pages and Beschreibung der Struktur der Aufgaben (Mathematik), read 2 November 2026. Since 2017 the pools cover German, maths, English and French; since 2022 those exams have been held largely on common dates. Each Land, Berlin included, decides through its own commission which pool tasks it uses and how far it adds its own. The Senate's 2027 exam plan could not be fetched when we checked (the server asked us to wait), so this page prints no Berlin exam date.
Part A is the hand-in-first section without a calculator or formula sheet. It rewards fluency: differentiating a product, solving an equation exactly, reading a probability off a tree. Pupils who rely on a computer algebra system for everything find these tasks slow, which costs time they need for Part B.
In our maths classes we time Part A style questions separately and practise them without any device, then move to longer Part B problems where tools are allowed.
Before the Abitur come smaller milestones. The IQB lists the 2027 window for VERA-8, the comparison test in grade 8 that includes maths, as 8 February to 25 March 2027; it is not graded and produces no school rankings. The MSA follows in grade 10.
For pupils who want more than the syllabus, the Mathematik-Olympiade has its regional round on 11 November 2026 and its Land round from 26 to 28 February 2027, and the Känguru der Mathematik is on 8 April 2027, with online registration open from 1 December 2026 to 31 January 2027.
Taught in English
No, in English only. Mentors work live from India and adjust to the learner.
Nothing is taught in German. Many Berlin learners study in English already, at an international or bilingual school or at work; for the rest, an hour of maths or code in English doubles as language practice.
Mentors pace each explanation, check understanding before moving on and adapt to the learner's accent. Adults starting from zero get the same patience as a grade 7 pupil.
Berlin exams use Ableitung, Wahrscheinlichkeit, Vektor and Operatoren such as berechnen or begründen. We teach each idea in English and name the German term next to it.
A Berlin data project
The Senatsverwaltung für Bildung, Jugend und Familie publishes the progress of fibre broadband at every Berlin school it manages. Our teenagers use it for a project that is half programming and half statistics: before reporting a percentage, check that two columns that should agree really do; then describe the waiting times with a mean and a median.
The file is the November 2025 extract of Breitband-Ausbau der Berliner Schulen, published under a CC BY licence that allows reuse with credit. It has one row per school site: school number, district, school type, name, address, a current status, and dates for the site visit (Begehung), civil works (Tiefbau) and the installation of active network equipment, plus a final yes or no for whether the connection is usable. We downloaded it on 3 November 2026 and saved it as UTF-8.
It holds 713 rows across all twelve districts.
What share of these schools can actually use their fibre connection? The file seems to answer it twice: the status column has a value Anschluss nutzbar, and a separate column says Ja or Nein. A careful analyst counts both.
Then a maths question: how long did a school wait from the site visit to the installed equipment, and is the mean a fair summary?
import csv
with open("breitband_2025.csv", encoding="utf-8") as f:
schools = list(csv.DictReader(f, delimiter=";"))
by_status = sum(1 for s in schools if s["aktueller status"] == "Anschluss nutzbar")
by_flag = sum(1 for s in schools if s["anschluss nutzbar"] == "Ja")
print("Schools:", len(schools))
print("Status says usable:", by_status, round(100 * by_status / len(schools), 1), "%")
print("Yes/no column says usable:", by_flag, round(100 * by_flag / len(schools), 1), "%")It prints: Schools: 713, Status says usable: 594 83.3 % and Yes/no column says usable: 590 82.7 %.
Two columns, two answers: 594 by the status, 590 by the yes or no field. The difference is small, but a report that quotes 83.3 % in one paragraph and 82.7 % in the next loses trust. Version 2 lists the rows behind the gap.
clash = [s["schulnummer"] for s in schools
if (s["aktueller status"] == "Anschluss nutzbar") != (s["anschluss nutzbar"] == "Ja")]
print("Rows where the two columns disagree:", clash)It prints: Rows where the two columns disagree: ['02G26b', '10K14', '10XD01', '10G10a'].
Four schools are marked usable in the status column and Nein in the final column. In all four, the civil works and the equipment installation are dated 2025, which suggests the yes or no field had not caught up when the extract was made, but the file does not say, so we report both counts and name the four rows rather than guess. That is the habit: when two fields should agree and do not, show the disagreement.
from datetime import datetime
from statistics import mean, median
def day(text):
try:
return datetime.strptime(text.strip(), "%d.%m.%Y").date()
except ValueError:
return None
waits = []
for s in schools:
visit, kit = day(s["begehung "]), day(s["aktive technik verbaut "])
if visit and kit:
waits.append((kit - visit).days)
print("Schools with both dates:", len(waits))
print("Mean wait:", round(mean(waits), 1), "days; median:", median(waits), "days")
print("Shortest:", min(waits), "Longest:", max(waits))It prints: Schools with both dates: 685, Mean wait: 529.8 days; median: 537 days and Shortest: 0 Longest: 1191.
| District | Schools with both dates | Median wait in days |
|---|---|---|
| Mitte | 54 | 389 |
| Pankow | 74 | 414.5 |
| Spandau | 48 | 634.5 |
| Tempelhof-Schöneberg | 62 | 934 |
Data: Senatsverwaltung für Bildung, Jugend und Familie, Breitband-Ausbau der Berliner Schulen (November 2025 extract), licence CC BY, downloaded 3 November 2026. Counts, percentages, means and medians are our own calculations; the file gives no reasons for differences between rows or districts, and neither do we.
Here the mean (529.8 days) and the median (537 days) are close, so the typical school waited about a year and a half, and neither number misleads. The maths lesson is to check that before choosing one: had a handful of schools waited five years, the mean would have jumped while the median barely moved. The wait of 0 days at one site is worth a second look too, since a visit and an installation on the same day is unusual.
Holidays
Berlin starts the 2027 summer holiday early, on 1 July. Our classes continue through the holidays unless you pause them.
| Holiday | Dates |
|---|---|
| Autumn | 19 to 31 October 2026 |
| Christmas | 23 December 2026 to 2 January 2027 |
| Winter | 1 to 6 February 2027 |
| Easter | 22 March to 2 April 2027 |
| Single days | 7 May 2027, and 18 to 19 May 2027 |
| Summer | 1 July to 14 August 2027 |
From the KMK overview Ferien im Schuljahr 2026/2027, dated 9 October 2025, and the KMK summer dates for 2025 to 2030. The KMK agrees summer holidays years ahead; Berlin sets its other holidays itself.
Class times
Late afternoon and early evening on weekdays, or around midday at the weekend, picked in your own clock when you book.
| Berlin | India, until 27 March 2027 | India, from 28 March 2027 |
|---|---|---|
| 17:15 | 21:45 | 20:45 |
| Saturday 12:00 | 16:30 | 15:30 |
| Sunday 16:00 | 20:30 | 19:30 |
Berlin keeps German legal time: UTC+1 in winter and UTC+2 in summer under the Einheitenzeitgesetz, with this year's change back on 25 October 2026 and the next change forward on 28 March 2027. India keeps UTC+5:30 all year, so it is four and a half hours ahead now and three and a half from late March. Times shown are examples; batches are arranged with each family.
Milestones
Stages we use ourselves to place a learner in coding or maths. They describe skills, not school marks.
| Stage | Typical point | The learner can |
|---|---|---|
| 1. First programs | ITG, Klasse 7 or 8 | Write short programs with loops and decisions in Python |
| 2. Data and percentages | Klasse 9 and 10 | Read a CSV file, count with conditions and report a percentage they have checked |
| 3. MSA maths | Klasse 10 | Solve linear and quadratic problems and read data and chance questions with confidence |
| 4. Objects and statistics | Einführungsphase | Model problems with classes; describe data with mean, median and quartiles |
| 5. Abitur level | Qualifikationsphase | Handle Part A maths without aids and write a complete Informatik solution under time pressure |
Stage 2 is the fibre project: a pupil learns that a percentage is only as good as the column it was counted from.
We tell you what your teenager can now do and explain, not how long they sat at the screen.
If two columns should say the same thing, count both. If they differ, show the rows.
Before you quote an average, look at the median too.
More courses
Each course runs live in English with a mentor who stays the same, in a batch of fifteen to twenty or privately.
CMA / SEK / 01
Algorithms and programming beside the ITG and the elective.
Open the syllabusCMA / SEK / 02
Algebra, geometry and data for the years before the MSA.
Open the syllabusCMA / SEK / 03
Biber to Bundeswettbewerb, with our own tasks.
Open the syllabusCMA / OST / 01
The stochastics the Abitur and university expect.
Open the syllabusCMA / OST / 02
For Berlin pupils on the IB Diploma instead of the Abitur.
Open the syllabusCMA / OST / 03
The IB route to programming and theory.
Open the syllabusCMA / ADULT / 01
Python, statistics and machine learning on real data.
Open the syllabusCMA / ADULT / 02
How large models work and how to build with them.
Open the syllabusCMA / ADULT / 03
Calculus, linear algebra and proof for adult learners.
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.
Evenings
Weekday lessons after school or work, Berlin time.
Weekends
Saturday or Sunday, from late morning.
One to one
A slot agreed with your mentor, moved around exams.
Coding or maths with one person who knows the gaps.
The learner writes the code or the working; the mentor questions it.
Timed Part A maths and Informatik tasks for the Oberstufe.
English teaching with the German exam words named.
Brief updates for parents of school pupils.
A group of fifteen to twenty, or private lessons.
Student work
A selection of projects by learners who kept going; the student labs page shows more of them.

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 covers eight live classes. We display the fee in euro, calculated from the European Central Bank reference rate, and charge it in US dollars, so the conversion is done by your bank and the booked amount can be a little different.
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 students and parents, as they posted them.
★★★★★
"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
Berlin learners ask
No. Every lesson is live and in English only, taught by mentors based in India who adapt to your pace and accent. German exam words such as Ableitung or Operatoren are named next to the English.
No. The Informatik-Monitor 2026/27 names Berlin among six Länder without Informatik for all pupils. There is a one-lesson ITG course in grade 7 or 8, and Informatik is an elective, usually in grades 9 and 10.
The school. According to the Informatik-Monitor, the course teachers submit two task proposals and one is chosen, and work at a computer is allowed in every task where it is needed.
Partly. The IQB coordinates a common task pool in maths, and since 2022 the exams have been held largely on common dates. Each Land decides which pool tasks it uses and may add its own.
Yes, with maths practice in English for grade 10, built on the KMK standards for the MSA. The school's exam and marks are what count; we do not award any qualification.
Yes. Adults start from zero in Python, data or AI, or refresh university maths, in the same live format, in a group or one to one.
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 often choose late afternoon and adults the evening.
For children of 6 to 12 our page on coding classes for kids in Berlin is the better guide: it covers Grundschule, Scratch and a first contest.
The monthly fee is shown in euro, converted at the European Central Bank reference rate, and your card is charged in US dollars, so your bank does the conversion and the figure may differ slightly. The first class is free.
No. We are an independent online school with no connection to the Senatsverwaltung, the KMK, the IQB, any competition organiser or any Berlin school.
Elsewhere on this site
More for Berlin families and learners.
For children of 6 to 12.
All our pages for Germany.
The maths Abitur explained in depth.
Informatik in the Oberstufe.
Rounds and practice for 2026/27.
Original problems in the Känguru style.
More guides: Coding classes in North Rhine-Westphalia · Coding classes in Lower Saxony · Coding classes in Land Bremen · Coding classes in Hesse · Coding classes in Bavaria · Coding classes in Saxony-Anhalt · Coding classes in Schleswig-Holstein · Coding classes in Baden-Württemberg · Coding classes in Saarland · Coding classes in Rhineland-Palatinate · Coding and maths in Hamburg · Coding classes in Saxony · Coding classes in Thuringia · Coding classes in Brandenburg · Coding classes in Mecklenburg-Vorpommern
Start here
In the free class the learner tackles one short coding or maths task at their level. The mentor watches how they think and how easily they follow English, and suggests a course and a group afterwards.
Want the details first? Read about how a live class runs, or look through every course and syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Our classes are live and online, with mentors in India, and they are taught only in English. WhatsApp 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