ENC / BASE / 01
Mental arithmetic
Number sense for 5 to 10 year olds.
Open the syllabusCologne · Maths help in English · Grundschule to Abitur
North Rhine-Westphalia has published its maths exam dates for 2027, and they cluster in a few spring weeks: the Abitur maths paper on 5 May, ZP10 maths on 20 May and the central exam at the end of the Einführungsphase on 31 May. This page lists every checkpoint a Cologne pupil meets, explains what the papers ask, and shows how we teach, in English, through a task on the city's bike counters that begins with a number written the German way.
Live online since 2020 · 10,000+ students worldwide · NRW maths explained in English
In short
Modern Age Coders offers a maths tutor for Cologne pupils, taught live online in English by mentors who follow your child's pace and accent. They prepare pupils at NRW schools for Klassenarbeiten, the ZP10 maths exam on 20 May 2027, the central exam at the end of the Einführungsphase and the Abitur, with the German maths terms taught alongside. Families pick private lessons or a batch of fifteen to twenty pupils.
Where to start
The middle years leading to ZP10, the Oberstufe leading to the Abitur, and Grundschule for the youngest.

ENC / 01
Fractions, percentages, equations, functions, geometry and probability: the ground the ZP10 maths paper and VERA-8 cover, taught in English with the German terms beside them.
Open the syllabus →
ENC / 02
From the Einführungsphase to Q2, Grundkurs or Leistungskurs: Analysis, analytic geometry and Stochastik, with full written solutions.
Open the syllabus →
ENC / 03
For the four Grundschule years: counting in thousands, adding through to dividing, measuring, shapes and first charts, before the move to secondary school.
Open the syllabus →The 2027 calendar
All dates below are taken from the NRW school ministry and the IQB. They fall in the spring of 2027, so the autumn and winter are the time to build up.
| Grade | Checkpoint | Date in 2027 | Notes |
|---|---|---|---|
| 3 | VERA-3, maths | 12 April to 26 May (window) | Comparison test, not graded |
| 8 | VERA-8, maths | 8 February to 25 March (window) | Comparison test, not graded |
| 10 | ZP10, Mathematik | Thursday 20 May; resit Thursday 3 June | Written papers start at 9:00 |
| EF | Zentrale Klausur, Mathematik | Monday 31 May; resit Tuesday 8 June | Central exam at the end of the Einführungsphase |
| Q2 | Abitur, Mathematik (LK and GK) | Wednesday 5 May | Exams start at 9:00; last Q2 teaching day 19 March |
Sources: Ministerium für Schule und Bildung NRW, Standardsicherung: Zentrale Prüfungen 10, Termine 2027; Zentrale Klausuren Einführungsphase, Termine 2027; Zentralabitur GOSt, Termine 2027 and Anlage A. the IQB pages on VERA-3 and VERA-8. Read 2 and 3 November 2026.
The ZP10 written papers in 2027 come in one fortnight: German on Tuesday 11 May, English on Thursday 13 May and maths on Thursday 20 May 2027, each starting at 9:00. The ministry lists the school types that sit them, among them Hauptschule, Realschule, Gesamtschule, Sekundarschule and Gymnasien with a grade 10 in Sekundarstufe I.
Pre-marks and exam marks are announced on Thursday 10 June 2027, and oral exams fall between 18 and 29 June 2027, on dates each school sets.
For pupils in the Einführungsphase, the central maths exam is on Monday 31 May 2027, with German a week earlier on Tuesday 25 May. These Zentrale Klausuren are set centrally for Gymnasien and Gesamtschulen.
For the Abitur year, the written exams run from 13 April to 5 May 2027, and maths, at both Leistungskurs and Grundkurs level, is the last paper on Wednesday 5 May 2027.
VERA, by contrast, is a check on the class, not on the child. According to the IQB, VERA results are not marked and no school or Land is ranked. It is still useful for parents: a weak VERA-8 result in early 2027 is a signal a year and a half before ZP10, early enough to close a gap calmly.
Inside the papers
The topics are international; the wording and the expected layout are German. Most lost marks come from the second.
The KMK standards for the MSA in maths are organised by Leitideen, among them Zahl und Operation, Größen und Messen, Raum und Form and Daten und Zufall. ZP10 questions mix them, often in one context such as a journey, a shop or a survey.
The IQB describes the common Abitur pool in two parts: Part A without aids and Part B with them. At raised level the pool exam lasts 300 minutes, at basic level 255. Each Land's commission decides which pool tasks it uses.
Every task starts with an instruction word: berechne, bestimme, begründe, interpretiere. A pupil who calculates when the task says interpretiere loses most of the marks, however correct the number.
| Instruction | In English | What earns the mark |
|---|---|---|
| Berechne | Calculate | A correct result with the working shown |
| Bestimme | Determine | A result by any valid method, briefly explained |
| Begründe | Justify | A reason in words, not only a number |
| Interpretiere | Interpret | What the result means in the context |
| Skizziere | Sketch | The shape and key points, not an exact plot |
| Zeige | Show that | Every step from the given to the claim |
The instruction list and its explanations are our own teaching notes. The official operator lists come from the IQB and the Länder, and your child's teacher will name the ones that apply.
Our mentors teach in English and write the German instruction next to each practice task, so a pupil learns the maths and the exam language at the same time. With Cologne pupils we also practise the number format early, because German papers write 1.250 for one thousand two hundred and fifty and 1,25 for one and a quarter. The data task below starts from exactly that.
A Cologne data task
Stadt Köln publishes the monthly counts of its permanent bike counters as open data. In the 2022 file, 17 counters each have twelve monthly totals. The first lesson is not about cycling at all: it is about reading a number.
The file has one header row with the counter names, from Deutzer Brücke to Neusser Straße, and one row per month from Januar to Dezember. The city describes it as the counts of the automatic counting stations of Cologne's bike traffic in 2022.
Every count is written the German way. January at Deutzer Brücke reads 88.423: the point separates thousands, so it means 88,423 bikes, not eighty-eight and a bit.
By what percentage did August beat January at Deutzer Brücke, and which counter had the most bikes over the year? A pupil writes the program, but the maths, percentage change and totals, is theirs to check by hand.
We start with the obvious approach and let it fail, because a mistake you see yourself is one you never make again.
import csv
with open("rad_koeln_2022.csv", encoding="utf-8") as sheet:
rows = list(csv.reader(sheet, delimiter=";"))
counters = rows[0][1:]
january = rows[1]
print(counters[0], "in", january[0] + ":", float(january[1]))It prints: Deutzer Brücke in Januar: 88.423. Python reads the point as a decimal point, so 88,423 bikes have become 88.423.
Any percentage built on that number is wrong by a factor of a thousand, and nothing crashes to warn you. The fix is a small function that removes the thousands point before converting the text to a whole number. Version 2 uses it to add up each counter's year and to compare January with August.
def german_int(text):
return int(text.replace(".", ""))
year = {}
for month in rows[1:]:
for name, cell in zip(counters, month[1:]):
year[name] = year.get(name, 0) + german_int(cell)
jan = german_int(rows[1][1])
aug = german_int(rows[8][1])
print(counters[0], "January:", jan, "August:", aug)
print(f"Change: {100 * (aug - jan) / jan:+.1f}%")
leader = max(year, key=year.get)
print("Busiest counter in 2022:", leader, year[leader])Run after Version 1, it prints: Deutzer Brücke January: 88423 August: 199040, Change: +125.1% and Busiest counter in 2022: Venloer Straße 2011322.
| Counter | January | August | Year 2022 |
|---|---|---|---|
| Venloer Straße | 124,574 | 207,493 | 2,011,322 |
| Deutzer Brücke | 88,423 | 199,040 | 1,710,346 |
| Universitätsstraße | 110,382 | 99,332 | 1,596,571 |
| Vorgebirgspark | 20,023 | 45,461 | 372,147 |
Data: Stadt Köln, Fahrrad Verkehrsdaten Köln 2022 via Open.NRW, licence Datenlizenz Deutschland Zero 2.0, downloaded 3 November 2026. Year totals and changes are our own sums of the twelve monthly values.
One row breaks the pattern. At Universitätsstraße, August is lower than January, a fall of about 10 percent, while most counters rose sharply. The data does not explain it. A strong answer offers a hypothesis a pupil could test, for example the university's summer break, and says what other data would confirm or reject it.
We wrote these tasks ourselves and checked every answer with our own runs on the city's file.
Lesson times
Early evening on weekdays, or a Sunday morning before the school week, with the mentor late in the Indian day.
| In Cologne | In India (winter) | In India (summer, from 28 March 2027) |
|---|---|---|
| 17:40 | 22:10 | 21:10 |
| 19:00 | 23:30 | 22:30 |
| Sunday 10:45 | 15:15 | 14:15 |
The Einheitenzeitgesetz gives Germany MEZ (UTC+1) in winter and MESZ (UTC+2) in summer. Summer time stopped on 25 October 2026 and restarts on 28 March 2027, while India keeps UTC+5:30 year round: four and a half hours ahead now, three and a half from spring. Sample times only; no batch is tied to them.
Because a 19:00 lesson is very late in India in winter, we keep that slot for spring and summer and suggest 17:40 or Sunday until 28 March 2027. NRW's Easter holidays run from 22 March to 3 April 2027, a natural moment for an intensive block before the May exams.
How we work
Our own way of planning for a Cologne pupil with an exam in spring 2027.
| When | Focus | What you see |
|---|---|---|
| November to December 2026 | Find and close gaps from earlier grades | A short gap list, ticked off |
| January to February 2027 | Topic by topic, with German instruction words | Worked solutions in the notebook |
| Easter break, 22 March to 3 April 2027 | Mixed practice under time | Timed scores your child records |
| April to May 2027 | Our own exam-style papers | Confidence with the format |
| After the exam | Review, then the next school year | A plan for what comes next |
We never promise a mark. We show you, in your child's notebook, what has become secure each month.
The school's marks and the central exam are what count; we strengthen the method behind them.
Read the number before you calculate with it. 88.423 is not 88.423 in English.
The instruction word tells you what kind of answer earns the mark.
More maths
Live and in English, with one regular mentor, in a batch or one to one.
ENC / BASE / 01
Number sense for 5 to 10 year olds.
Open the syllabusENC / BASE / 02
Hands-on number play for the youngest.
Open the syllabusENC / BASE / 03
Contest problems we write ourselves.
Open the syllabusENC / MID / 01
Expressions, equations and linear functions.
Open the syllabusENC / MID / 02
The Daten und Zufall strand, in depth.
Open the syllabusENC / MID / 03
Data tasks like the bike counters, in Python.
Open the syllabusENC / UP / 01
Functions, calculus and vectors.
Open the syllabusENC / UP / 02
Diploma maths at SL or HL.
Open the syllabusENC / UP / 03
Core and Extended papers.
Open the syllabusHow lessons run
Each week brings two live lessons with the same mentor, planned backwards from the next Klassenarbeit or exam. Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Early evenings
Weekdays from about 17:40 Cologne time.
Sundays
A morning slot to prepare the week.
1-on-1
Extra sessions before ZP10 or the Abitur.
The same tutor for the whole school year.
German instruction words, explained in English.
Solutions laid out the way markers expect.
Every plan starts from a real 2027 date.
What was covered, what to practise next.
A group of fifteen to twenty, or private.
Student work
Several of our students combine maths with code in their own projects. A few are below; there are more on the student labs page.

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
The monthly fee covers eight live lessons. It is shown in euro using the European Central Bank reference rate; you pay in US dollars, your bank does the conversion, and so the amount on the statement can be slightly 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 by parents and students, quoted exactly.
★★★★★
"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
Cologne families ask
No, there are no German-language lessons: everything is live and in English. The mentor takes the pace and accent your child needs and notes German terms and instruction words next to the English, so NRW papers still feel familiar.
On Thursday 20 May 2027, starting at 9:00, with a resit date on Thursday 3 June 2027, according to the NRW school ministry. German is on 11 May and English on 13 May 2027.
The ministry's Anlage A lists Mathematik, Leistungskurs and Grundkurs, on Wednesday 5 May 2027. The written Abitur runs from 13 April to 5 May 2027, and exams start at 9:00.
A Zentrale Klausur set centrally for Gymnasien and Gesamtschulen at the end of the EF. In 2027 the maths paper is on Monday 31 May 2027, with an optional resit date on Tuesday 8 June 2027.
No, and we do not promise one. We show you what has become secure in your child's work. The school's marks and the central exams are what count, and we teach alongside the school, never instead of it.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Through the winter, 17:40 on weekdays and Sunday late mornings are the usual Cologne picks.
From India, live over video and in English. Each pupil is matched with one mentor for the long run, who learns their habits and gaps.
Yes. For pupils on an IB or IGCSE route we have separate courses. We confirm the programme and level first and plan from there.
Batches hold fifteen to twenty pupils working at a similar level. In the run-up to ZP10 or the Abitur, plenty of families move to private lessons, twice a week.
Once a month. You see the fee here in euro, converted at the reference rate of the European Central Bank; the card is debited in US dollars and your bank exchanges the sum, which is why the statement can show a slightly different figure. Your first lesson is free.
Elsewhere on this site
More on maths at schools in Germany.
The hub for all our Germany pages.
Checkpoints across all the Länder.
The written maths Abitur, explained.
The 8 April 2027 contest, with our own problems.
Rounds and dates for 2026/27.
A live lesson, step by step.
Part of the guide: Coding classes in North Rhine-Westphalia
More guides: 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 Berlin · Coding and maths in Hamburg · Coding classes in Saxony · Coding classes in Thuringia · Coding classes in Brandenburg · Coding classes in Mecklenburg-Vorpommern
Start here
Bring the last Klassenarbeit or a topic that worries your child. The mentor works through it, finds where the trouble begins, and suggests a plan toward the 2027 dates.
Prefer to read first? How we teach walks through a lesson, and every syllabus sits under all courses.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Everything is live, online and taught in English by mentors in India. WhatsApp is the fastest way to reach us.
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