CDO / START / 01
Coding for Kids
The long course: Scratch games, then apps, then early AI, 6 to 12.
Open the syllabusDortmund · Coding for children · Ages 6 to 12
In North Rhine-Westphalia every pupil gets Informatik in grades 5 and 6, so a Dortmund child meets computing at about ten, earlier than in most of Germany. The four Grundschule years before that have no computing lesson of their own. This page sets out what the NRW subject covers, how our live classes in English fill the primary years, a free maths contest open from grade 3, and a project in which children read the building year of every Dortmund playground and find out how messy real data can be.
Live online since 2020 · more than 10,000 learners worldwide · Dortmund afternoons, taught in English
The short answer
For Dortmund children aged 6 to 12, Modern Age Coders offers coding classes as live online lessons in English: logic puzzles and Scratch first, then real Python, typed line by line, and small AI projects in our Python and AI for Kids course. A mentor who adjusts to your child's pace and accent teaches either a group of fifteen to twenty children or your child alone, after school or at weekends. It covers the Grundschule years before NRW Informatik starts in grade 5.
Where Dortmund children start
A thinking course for the first school years, the Python course most children move into at about nine, and a contest course for children who like the Maths Olympiad.

CDO / 01
Ages 6 to 9, in two age bands. Patterns, ordering, simple rules and spoken reasoning in English: the groundwork for coding before a child reads fluently.
Open the syllabus →
CDO / 02
For children of about nine and over: real typed Python from week one, drawings and games, later working with real files, like the playground register further down.
Open the syllabus →
CDO / 03
From Klassenstufe 3. Our own olympiad-style problems, worked through in English, for children who want more than school maths.
Open the syllabus →School in North Rhine-Westphalia
In grade 5. NRW is one of the Länder that makes Informatik compulsory for every pupil, and it starts at the beginning of secondary school. The full path below is drawn from the GI monitor and the KMK.
Dortmund children spend grades 1 to 4 in Grundschule, as in almost every Land: the KMK describes a primary stage running "von der ersten bis zur vierten" Jahrgangsstufe, with Berlin and Brandenburg as the only exceptions. There is no leaving exam at the end of it, and computing has no lesson of its own.
That makes the years from 6 to about 10 free time for coding in the best sense: nothing is being examined, so a child can play, build and get things wrong without a mark attached.
The Informatik-Monitor 2026/27 of the GI (Gesellschaft für Informatik) records that NRW teaches "das Pflichtfach Informatik in den Jahrgangsstufen 5 und 6" at all general school types, with a Kernlehrplan written for those two years. Whether your child goes to a Gymnasium, a Gesamtschule, a Realschule or a Hauptschule in Dortmund, Informatik is on the grade 5 timetable.
After grade 6 it becomes a choice, and the size of that choice depends on the school type, as the table shows.
| School type | Grades | What the rules allow |
|---|---|---|
| All general schools | 5 and 6 | Compulsory Informatik for every pupil |
| Hauptschule | 7 to 10 | Elective (Wahlpflicht), up to eight weekly hours in total |
| Realschule | 7 to 10 | Elective within a block of 14 weekly hours |
| Gesamtschule, Sekundarschule | 7 to 10 | Elective within a block of twelve weekly hours |
| Gymnasium (nine-year route) | 9 and 10 | Elective offered with six weekly hours in total |
| Gymnasium Oberstufe | Qualifikationsphase | Grundkurs three hours or Leistungskurs five hours a week |
Source: GI Informatik-Monitor 2026/27, Nordrhein-Westfalen page, read on 2 November 2026; KMK, Primarbereich and the Eurydice dossier on the German school system. The written Informatik Abitur in NRW is set centrally. At the end of grade 10 NRW pupils sit the Zentrale Prüfungen 10 (ZP10) in German, maths and English.
What this means for a Dortmund family: the school will teach computing, but it starts at ten and, for many pupils, stops being compulsory at twelve. A child who has spent a few years building things before grade 5 tends to enjoy the Informatik lessons rather than struggle through them, and a child who enjoys grades 5 and 6 can keep going with us after the elective choice narrows.
Language of the classes
In English, always. We say so before the first class because it matters for a family choosing between options in Dortmund.
Every lesson is live and in English. We do not run German-language groups. Families at German schools often treat this as two subjects at once: a child learns to program and hears an hour of clear spoken English twice a week.
The mentor slows down, rephrases and waits. A child who mixes German words into an answer is understood, and the mentor offers the English word back without fuss. Pace and accent are matched to the learner, not to a script.
In Scratch and Python most of the lesson is visible: blocks snap, a turtle draws, a number prints. Children follow what they can see, and the English they need grows week by week from a small, repeated set of words.
Every mentor works from India over live video, which is why a Dortmund afternoon lines up with an Indian evening. The same mentor stays with a group, which means that after a month they know which child needs a harder puzzle and which one needs a minute of quiet before answering.
A real Dortmund project
The City of Dortmund publishes a register of its playgrounds as open data. One column says, in words, how big each playground is and when it was built. Getting a computer to read that column is a lesson every young programmer needs.
The register is called Spielplätze and comes from the city's open-data portal, published under the Datenlizenz Deutschland Zero 2.0, which lets anyone reuse it. We downloaded it on 2 November 2026: 366 rows, one per playground, with the name, the Stadtbezirk and a column called Information.
That column holds short notes such as "2300 qm, Baujahr 1983": the area in square metres and the year the playground was built. It is written for people. A computer sees only a string of characters.
In which decade did Dortmund build most of its playgrounds? Children usually guess "recently", because the playground they know looks new. The register says otherwise.
The first program does the obvious thing: cut each note at the word "Baujahr" and turn what is left into a number. It works on the first 38 rows and then stops.
import csv
years = []
register = open("spielplaetze.csv", encoding="utf-8")
for entry in csv.DictReader(register, delimiter=";"):
text = entry["Information"] # e.g. "2300 qm, Baujahr 1983"
year = text.split("Baujahr ")[1]
years.append(int(year))
print("Oldest:", min(years))Our program. The last line it prints is IndexError: list index out of range. Row 39 has an empty Information cell, so there is nothing after "Baujahr" to read.
A crash is a good teacher. The child opens the file and finds that not every row follows the pattern: ten cells are empty, four just say "Westfalenpark", one says "Träger: Jugendamt", and three say "Baujahr k.A.", the German short form for "no information". A program that only works on tidy rows is a program that has not met real data yet.
import csv
decades = {}
unread = []
register = open("spielplaetze.csv", encoding="utf-8")
for entry in csv.DictReader(register, delimiter=";"):
text = entry["Information"]
parts = text.split("Baujahr ")
if len(parts) == 2 and parts[1].strip().isdigit():
decade = int(parts[1]) // 10 * 10
decades[decade] = decades.get(decade, 0) + 1
else:
unread.append(text)
for decade in sorted(decades):
print(str(decade) + "s", "#" * (decades[decade] // 4), decades[decade])
print("Read:", sum(decades.values()), "Could not read:", len(unread))Our program. It prints one line per decade, with a bar of # signs: 1950s ######### 39, 1960s #################### 80, 1970s ############# 54, 1980s ############### 60, 1990s ########### 46, 2000s ########### 47, 2010s ##### 20, plus single entries for the 1870s and 2020s, and finally Read: 348 Could not read: 18.
The 1960s win clearly, with 80 playgrounds. The second program also says, without being asked twice, that 18 rows could not be read. That last line is the habit we want: a result that admits its own gaps is a result you can trust. And one row stands out by itself: a playground in Brackel listed with the building year 1878. It may be real, or it may be a typing slip for 1978; the file cannot tell us, so a careful programmer reports it and does not quietly drop it.
| Stadtbezirk | Playgrounds with a year | Built before 1970 |
|---|---|---|
| Innenstadt-Nord | 31 | 23 |
| Innenstadt-Ost | 28 | 17 |
| Innenstadt-West | 36 | 19 |
| Brackel | 35 | 13 |
| Lütgendortmund | 35 | 6 |
| Aplerbeck | 33 | 3 |
Data: Stadt Dortmund, Spielplätze, via Open.NRW and GovData, licence Datenlizenz Deutschland Zero 2.0, downloaded 2 November 2026. Counts are ours, from the 348 rows with a readable building year; across all twelve Stadtbezirke, 120 playgrounds date from before 1970 and 68 from 2000 or later. The register also lists five water playgrounds and three adventure playgrounds.
A free contest from grade 3
Yes. The Mathematik-Olympiade has been open to primary schools since 2005, and it is entered through the school, free of charge for the family.
The Mathematik-Olympiade is a national maths competition with about 200,000 pupils a year, from grade 3 to grade 13. It is not a speed quiz: children write out solutions to a small number of problems and explain their reasoning, which is exactly the habit that makes a good programmer.
For grades 5 to 7 it runs in three rounds, and from grade 8 in four. Primary pupils in grades 3 and 4 take part in three rounds as well.
The school round of the 66th Olympiad runs in the autumn of 2026 at each school. The national association Mathematik-Olympiaden e.V. lists the Landesrunde for 26 to 28 February 2027 and the Bundesrunde for 30 May to 2 June 2027, hosted in Kaiserslautern.
Ask your child's maths teacher whether the school takes part this year; the problems are set and marked through the school.
We are not connected with the Olympiad or its organisers, and we never copy its problems. In class we write our own problems in the same spirit: a short story, a pattern to explain, a claim to check for every case. A child who has met a "Could not read: 18" line in a program already knows the most important olympiad question: have I covered every case?
Class times
After school on weekdays, or in the morning at weekends. Booking shows every slot in Dortmund time, and the mentor sees that same slot converted to Indian time.
| Dortmund | India, until 28 March 2027 | India, from 28 March 2027 |
|---|---|---|
| 14:50 | 19:20 | 18:20 |
| 16:25 | 20:55 | 19:55 |
| Saturday 11:20 | 15:50 | 14:50 |
Under the Einheitenzeitgesetz, Dortmund runs on MEZ (UTC+1) from late October and on MESZ (UTC+2) from late March; this year the change back happened on 25 October 2026, and the next change forward is due on 28 March 2027. India does not change its clocks (UTC+5:30), so the gap to Dortmund is four and a half hours this winter and three and a half once spring arrives. These rows are examples, not fixed batch times.
NRW school holidays for 2026 to 2027 are in the KMK table: Christmas from 23 December 2026 to 6 January 2027, Easter from 22 March to 3 April 2027 and summer from 19 July to 31 August 2027. Classes continue through them, and families who travel simply tell the mentor and pause.
Progress
Our own stages, used to place each child and to tell parents what has changed.
| Stage | Usual age | By the end, the child can |
|---|---|---|
| 1. Order | 6 to 7 | Follow and give step-by-step instructions, on paper and on screen |
| 2. Repeat | 7 to 8 | Use a loop in Scratch instead of copying the same block |
| 3. Decide | 8 to 9 | Make a sprite react with if and else |
| 4. Type | 9 to 11 | Type a Python script and make sense of an error message |
| 5. Read data | 10 to 12 | Open a real file, handle untidy rows and say what was skipped |
Stage 5 is the playground project. It arrives around the time NRW Informatik begins in grade 5, so a child reaches the school subject with something real already built.
Reports describe what your child made and explained, not minutes spent online.
If your program crashes, it is telling you something about the data. Go and look.
Count the things you skipped. Then say how many there were.
More for children
Every course is taught live and in English, in a group or one to one.
CDO / START / 01
The long course: Scratch games, then apps, then early AI, 6 to 12.
Open the syllabusCDO / START / 02
A full Scratch course that ends in games of their own.
Open the syllabusCDO / START / 03
Breaking big problems into small steps, with and without a screen.
Open the syllabusCDO / BUILD / 01
Code inside a world they already love, 7 to 12.
Open the syllabusCDO / BUILD / 02
Working phone apps, put together from blocks, for ages 8 to 12.
Open the syllabusCDO / BUILD / 03
Their own Roblox games, scripted line by line, 8 to 14.
Open the syllabusCDO / NUM / 01
Number sense rather than tricks, 5 to 10.
Open the syllabusCDO / NUM / 02
Fractions, patterns and graphs investigated in Python, 10 to 15.
Open the syllabusCDO / NUM / 03
Puzzles and games in C++, 9 to 12.
Open the syllabusHow it works
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekdays
From mid-afternoon in Dortmund, once homework is done.
Weekends
Saturday or Sunday mornings, good for the youngest.
1-on-1
A slot agreed with your family, moved when school life changes.
Two classes a week, each about an hour.
The same mentor across the months.
Children type and click from the first lesson.
Six year olds learn with six year olds.
What was built, what was tricky, what is next.
A class of fifteen to twenty, or just your child.
Student work
Children who start at primary age end up building real projects. Here are a few by our older students; more are 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
One monthly fee covers eight live classes. We show it in euro, converted at the European Central Bank reference rate, and take the payment in US dollars; your bank does the conversion, so your statement may differ by a few cents.
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 parents and students, quoted as 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
Dortmund parents ask
No. All classes are live and taught only in English. The mentor speaks clearly, adapts to your child's pace and accent, and is used to children who are still learning English. Code itself looks the same in every language.
Yes, from grade 5. The Gesellschaft für Informatik records that North Rhine-Westphalia teaches Informatik as a compulsory subject in grades 5 and 6 at all general school types. After grade 6 it becomes an elective, and how much is offered depends on the school type.
There is no Informatik subject in grades 1 to 4 in NRW. Some schools do media work or clubs, but there is no compulsory computing lesson before grade 5, which is why many families start at home or online.
From 6. The youngest children start with puzzles, ordering games and Scratch blocks, so no typing or reading of long instructions is needed. Typed Python usually starts at about 9.
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 Dortmund children join after school, between mid-afternoon and early evening.
Our mentors are based in India and teach live over video. A class at 16:25 in Dortmund starts at 20:55 in India during the winter months and at 19:55 in summer. Your child keeps the same mentor.
Usually yes, through the school. The Olympiad is open from grade 3 and has been offered to primary schools since 2005. Ask the maths teacher whether the school takes part; we are not connected with the organisers.
An original Python project on the City of Dortmund playground register. Children read the building year out of a text note, count playgrounds by decade and learn to report the 18 rows the program could not read.
Groups have fifteen to twenty children of a similar age. If you prefer, one-to-one classes give your child a mentor of their own at times you agree.
The fee is monthly and shown on this page in euro at the European Central Bank reference rate. The payment is taken in US dollars and your bank converts it. The first class is free.
Further reading
Useful next steps on this site.
The full set of our pages for Germany.
How all sixteen Länder handle the subject.
The Olympiad rounds in more detail.
The national picture for ages 6 to 12.
The Land page: NRW rules, holidays and data.
Inside a live class.
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
In the first class your child solves a short puzzle and builds a tiny program with a mentor. You see how they cope with English and with the ideas, and we suggest a course and an age group.
If you want to know more first, how we teach describes a live lesson, and all courses has each syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live online, taught in English only, by mentors based in India. Message us on WhatsApp with any question.
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