CIN / CODE / 01
Python for teens
From first script to real projects, the language most boards accept.
Open the syllabusBerlin · International and bilingual schools · Ages 13 to 19
A computer science pupil in Berlin can be heading for four very different exams: Cambridge IGCSE, the IB Diploma, an American AP exam, or the Berlin Abitur. They test the same ideas, yet one is on paper in pseudocode, one is on a screen in Java, and one lets you use a computer for every task. This page sets out what the international schools in Berlin offer according to their association, how each exam treats programming, how we teach for all four in English, and a Python project on Berlin open data about the dullest and most useful skill in computing: checking input.
Live online since 2020 · 10,000+ students worldwide · IGCSE, IB, AP and Abitur computing in English
In short
Coding for international school students in Berlin at Modern Age Coders is live online computer science tutoring in English for pupils of 13 to 19 at English-medium and bilingual schools: IGCSE Computer Science 0478, IB Diploma Computer Science, AP Computer Science A, and Informatik for the Berlin Abitur. One regular mentor matches your pace and accent, either one to one or in a group of fifteen to twenty.
Three exam courses
Pick the one that matches your school's qualification. Each follows its own board's syllabus and our own practice tasks.

CIN / 01
Ages 16 to 19. The new IB guide with first assessment in 2027: programming, algorithms, data and the internal assessment, taught in English with a regular mentor.
Open the syllabus →
CIN / 02
Ages 14 to 16. Both papers of the 2026 to 2028 syllabus, with pseudocode drilled until it is automatic and Python for the programming answers.
Open the syllabus →
CIN / 03
Ages 15 to 18. Java from the first lesson, the four free-response question types, and practice for an exam taken on screen.
Open the syllabus →Berlin schools
The Arbeitsgemeinschaft der Internationalen Schulen in Deutschland, AGIS, keeps a directory of its schools. For Berlin it shows a mix of IB, Cambridge, American and German qualifications. We give this as context only; we have no link with any of these schools.
| School (AGIS listing) | Qualifications listed by AGIS | Computing exam that can sit in that route |
|---|---|---|
| BBIS Berlin Brandenburg International School | IB PYP, IB MYP, International Baccalaureate | IB Diploma Computer Science |
| Berlin British School | IB PYP, IB Diploma, IGCSE, MSA | IGCSE Computer Science; IB Diploma Computer Science |
| Berlin International School | Cambridge Examinations Board, MSA, IB Diploma | Cambridge computing papers; IB Diploma Computer Science |
| Berlin Metropolitan School | IB PYP, IGCSE, International Baccalaureate | IGCSE Computer Science; IB Diploma Computer Science |
| John F. Kennedy School Berlin (AGIS partner) | Advanced Placement, American High School Diploma, Deutsches Abitur | AP Computer Science A; Abitur Informatik |
Source: AGIS school directory, one page per school, read on 2 November 2026. The third column is ours: it names the computing exam a route can include, not a claim that the school teaches it. Whether a school offers Computer Science in a given year is on the school's own pages, so ask the school.
AGIS describes all its member schools as authorised IB schools that offer at least one of the four IB programmes. It says they bring together children from up to 65 nations and use English as the common teaching language.
It also explains how the German side reads these routes: the IB Diploma, with prescribed subject combinations, counts as equivalent to the German Abitur, and schools that offer the MYP or the IGCSE give pupils a qualification equivalent to the Mittlere Reife.
Berlin also has the Staatliche Europa-Schule Berlin, SESB. The KMK's Eurydice dossier calls it a network of bilingual streams at 33 schools with about 6,000 pupils, taught in German and one of nine other languages from the first grade to the Abitur.
A pupil in an English stream there, or at a German school who simply prefers English, sits the Berlin Abitur in Informatik if they take it. That route is in the last row of the exam table below.
Four exams compared
The ideas overlap almost completely: variables, loops, arrays, searching, sorting, classes, data. What differs is the medium, the language and how much the computer is allowed to help.
| Exam | How it is taken | Language for answers | Published structure |
|---|---|---|---|
| IGCSE Computer Science 0478 | Two written papers | Pseudocode, or Python, Visual Basic or Java | Paper 1 Computer Systems and Paper 2 Algorithms, Programming and Logic, each 1 hour 45 minutes and 75 marks |
| AP Computer Science A | Fully digital, in the Bluebook app | Java, with the Java Quick Reference | 42 multiple-choice questions in 1 hour 30 minutes (55 percent) and 4 free-response questions in 1 hour 30 minutes (45 percent) |
| Abitur Informatik, Berlin | Written; the teacher submits two task proposals and one is chosen | Set by the course | Grundkurs three hours a week, Leistungskurs five; a computer may be used in all tasks |
| IB Diploma Computer Science | Set by the IB | Set by the IB guide | Not quoted here: ibo.org did not let us read it, so we give no figures |
Sources: Cambridge International, IGCSE Computer Science 0478 syllabus for 2026 to 2028; College Board, AP Computer Science A exam page and 2027 AP exam schedule; Gesellschaft für Informatik, Informatik-Monitor 2026/27, Berlin page. Read on 2 and 3 November 2026. The IB row is left without figures on purpose.
Cambridge asks for algorithms written by hand, in pseudocode or a real language, and its syllabus says the last question of Paper 2 is a 15-mark unseen scenario. A pupil who has only ever typed code into an editor that catches errors finds this hard: there is no red underline on paper.
The College Board does the opposite for AP Computer Science A: the exam is fully digital, taken in the Bluebook app, and the Java Quick Reference is built in. The four free-response questions are fixed in type: methods and control structures, class design, data analysis with an ArrayList, and a 2D array.
The Informatik-Monitor says Berlin's written Abitur tasks in Informatik are developed decentrally: the teacher submits two proposals for a course and one is chosen. Working on a computer is allowed in every task, limited to the parts where it is needed for the subject.
Before the Oberstufe, pupils at Berlin's German schools meet computing in the ITG, the Informationstechnischer Grundkurs of one weekly hour, placed in grade 7 or grade 8; after that Informatik is normally an elective of two hours a week across grades 9 and 10. An international school pupil who moves into a Berlin Oberstufe may therefore meet classmates with two years of school Informatik behind them, or none.
Dates matter too. The College Board lists AP Computer Science A on Wednesday 12 May 2027 in Session 2, and its start-time table gives 1:00 p.m. local time for Session 2 at UTC+2, which is Berlin's offset in May. Check your own school's time with the College Board lookup. Cambridge and the IB publish their own timetables, and your school's exams officer has the final version.
Taught in English
For an international school pupil the answer is simple: your exam is in English. For a pupil at a German school, it is the language the subject is written in anyway.
Every class is live, and every class is in English; German-language lessons are not something we run. Mentors adjust their speed and accent to the pupil, and they rephrase until an idea lands.
Each board phrases its questions in its own command words. We practise with the words in your syllabus, so that a question means the same thing to you as it does to the person marking it.
One mentor follows the pupil from the first class to the exam and knows which topics still wobble. Mentors are based in India and teach over live video with a shared editor.
We do not ask pupils to copy answers, from us or from an AI tool. A pupil who can explain why a loop stops, and test that claim, can answer a question they have never seen. For under-18s we never recommend adult-only AI accounts; our AI tools age guide lists what each tool's own terms allow.
A Berlin data project
Every computing syllabus asks pupils to validate data. Real data makes the point far better than a textbook, and the Senate's list of Christmas markets is real, messy and open.
The Senate department for economics publishes Berliner und Brandenburger Weihnachtsmärkte as open data under CC BY. We downloaded the JSON version on 3 November 2026: 48 markets for the 2025/26 season, each with a district, a start date (von), an end date (bis) and free-text opening hours.
The dates are written the German way, day.month.year, as text. A program has to turn that text into a date before it can compare or subtract anything, and that is where the trouble starts.
How long does a typical market run? It sounds like one subtraction per market. Try it on all 48 and the program crashes, because some cells hold no date, some hold several dates on separate lines, and one says a market ends in 2012.
So Version 1 does what an examiner wants to see: before computing anything, it sorts every record into a named case. Only the clean cases go forward.
import json
from datetime import datetime
def parse(text):
return datetime.strptime(text.strip(), "%d.%m.%Y").date()
markets = json.load(open("weihnachtsmaerkte.json", encoding="utf-8"))["index"]
kinds = {}
for m in markets:
start, end = m["von"], m["bis"]
if start == "":
kind = "no start date"
elif "\n" in start:
kind = "several dates in one cell"
elif end == "":
kind = "one day only"
elif parse(end) < parse(start):
kind = "ends before it starts"
else:
kind = "clean range"
kinds[kind] = kinds.get(kind, 0) + 1
for kind, n in sorted(kinds.items(), key=lambda kv: -kv[1]):
print(kind, n)It prints clean range 26, one day only 17, several dates in one cell 3, no start date 1 and ends before it starts 1.
Only 26 of 48 records are clean ranges. Seventeen are single-day markets with no end date at all, which is not an error but a different kind of record. Three put several weekend dates into one cell, separated by line breaks. One has no start date in its own field; its dates are hidden in the opening-hours text. And one ends before it starts.
import json
import statistics
from datetime import datetime
def parse(text):
return datetime.strptime(text.strip(), "%d.%m.%Y").date()
markets = json.load(open("weihnachtsmaerkte.json", encoding="utf-8"))["index"]
spans = []
for m in markets:
start, end = m["von"], m["bis"]
if start == "" or "\n" in start or end == "":
continue
days = (parse(end) - parse(start)).days + 1
if days < 1:
print("Rejected:", m["name"], start, end)
continue
spans.append(days)
spans.sort()
print("Clean ranges:", len(spans))
print("Shortest:", spans[0], "Longest:", spans[-1], "Median:", statistics.median(spans))It prints Rejected: Weihnachtsmarkt Königs Wusterhausen 12.12.2025 14.12.2012, Clean ranges: 26 and Shortest: 1 Longest: 124 Median: 35.0.
The rejected record starts on 12 December 2025 and ends on 14 December 2012, which looks like a typing slip, but a program should not guess. It reports the record and leaves it out. The longest clean range is 124 days, a winter market in Mitte from 28 November 2025 to 31 March 2026, which is why we report the median, 35 days, rather than the mean: one long run would pull an average up.
| Case | Records | What a careful program does |
|---|---|---|
| Clean range | 26 | Parse both dates and measure |
| One day only | 17 | Treat as a one-day range, or count separately |
| Several dates in one cell | 3 | Split on line breaks, then pair the dates |
| No start date | 1 | Flag for a human; do not read free text blindly |
| Ends before it starts | 1 | Reject and report |
Data: Senatsverwaltung für Wirtschaft, Energie und Betriebe, Berliner und Brandenburger Weihnachtsmärkte, via Berlin Open Data and GovData, licence CC BY; downloaded 3 November 2026. The list includes five markets in Brandenburg. Every count and duration is our own.
Class times
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. International school days often end later, so evening slots are popular.
| Berlin time | India time to 28 March 2027 | India time from 28 March 2027 |
|---|---|---|
| 17:25 | 21:55 | 20:55 |
| 18:20 | 22:50 | 21:50 |
| Saturday 15:10 | 19:40 | 18:40 |
| Sunday 11:15 | 15:45 | 14:45 |
German legal time is Central European Time, UTC+1, with summer time, UTC+2, under the Einheitenzeitgesetz; summer time ended on 25 October 2026 and returns on 28 March 2027. India is on UTC+5:30 all year: 4 hours 30 minutes ahead of Berlin in winter, 3 hours 30 minutes in summer. Times shown are examples only.
International schools set their own term dates, which may not match the Berlin state school holidays. For reference, the KMK table gives Berlin's state school Christmas break as 23 December 2026 to 2 January 2027 and the Osterferien as 22 March to 2 April 2027. Tell your mentor your own school's calendar and the plan follows it.
Milestones
Our own stages, used to place a pupil whatever their board.
| Stage | Typical age | The pupil can |
|---|---|---|
| 1. Write and trace | 13 to 14 | Write short programs and trace them by hand, line by line |
| 2. Structure data | 14 to 15 | Use lists, dictionaries and arrays, and choose between them |
| 3. Validate and test | 15 to 16 | Check every input, name the cases and write tests that fail |
| 4. Design classes | 16 to 17 | Model a problem with classes and explain the design |
| 5. Exam fluency | 16 to 19 | Answer unseen questions in the board's own words and format |
Stage 3 is the project above. Pupils who learn to classify input before using it lose far fewer marks on unseen questions.
We report progress as things your child can now do alone, with an example.
Before you compute, ask what could be wrong with the input. Then write it down as a case.
If a record cannot be true, report it. Do not quietly fix it.
More courses
All live, in English, with one regular mentor, in a group or one to one.
CIN / CODE / 01
From first script to real projects, the language most boards accept.
Open the syllabusCIN / CODE / 02
The language of AP and many Abitur courses, from scratch.
Open the syllabusCIN / CODE / 03
Logic, data structures and algorithms for strong pupils.
Open the syllabusCIN / DE / 01
Oberstufe Informatik in Java or Python.
Open the syllabusCIN / DE / 02
School Informatik from Klasse 5 to 10, in English.
Open the syllabusCIN / DE / 03
Biber, BwInf and BWKI, with our own problems.
Open the syllabusCIN / PLUS / 01
The Create task and the end-of-course exam.
Open the syllabusCIN / PLUS / 02
Clean, chart and model real data in Python.
Open the syllabusCIN / PLUS / 03
How models learn, built from the code up.
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. Two live classes a week, an hour each, in a shared editor with the same mentor.
Evenings
After a long international school day, from about 17:00 in Berlin.
Weekends
Saturday afternoons and Sunday mornings for longer practice.
One to one
A time agreed with the mentor, moved around mock exams.
IGCSE, IB, AP or Abitur, never a mixture.
Handwritten tracing for the boards that need it.
Practice tasks are written by us, not copied papers.
Pupils say why the code works before they run it.
Short notes on progress and next steps.
Fifteen to twenty pupils, or you and a mentor.
Student work
Teenagers who learn properly build real things. A few of their projects are below, and the student labs page shows 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 page shows it in euro, worked out at the European Central Bank reference rate; the payment is processed in US dollars, so your bank converts it and the final euro figure 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
What parents and students wrote on Google, unedited.
★★★★★
"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 pupils and parents ask
No. Every class is live and taught in English only, by mentors who match your pace and accent. That suits IGCSE, IB and AP pupils, whose exams are in English, and it works for Abitur Informatik too, because the programming languages themselves are English.
Yes. Our course follows the 2026 to 2028 syllabus: Paper 1 Computer Systems and Paper 2 Algorithms, Programming and Logic, each 1 hour 45 minutes and 75 marks. We drill pseudocode in the Cambridge style and use Python for the programming answers.
The College Board lists it on Wednesday 12 May 2027, in Session 2. Its start-time table gives 1:00 p.m. local time for Session 2 at UTC+2, Berlin's offset in May, but your school confirms the exact time.
No. The College Board describes it as fully digital, taken in the Bluebook app, with 42 multiple-choice questions and 4 free-response questions, each part lasting 1 hour 30 minutes. The Java Quick Reference is built into the app.
Yes. Our course follows the new IB guide with first assessment in 2027, including the internal assessment. We do not quote IB exam figures on this page because we could not read them on ibo.org; your IB coordinator has the official details.
We do not name schools as sources of students. The schools on this page are listed only because the AGIS directory shows their qualifications. We are not connected with AGIS or with any school.
According to the Informatik-Monitor 2026/27, working on a computer is allowed in all tasks of the written Berlin Abitur in Informatik, limited to where the subject needs it. The tasks are set decentrally: teachers submit two proposals and one is chosen.
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 are popular: 18:20 in Berlin is 22:50 for the mentor in India in winter.
The fee is monthly for eight live classes and appears in euro at the European Central Bank reference rate. The charge goes through in US dollars and your bank converts it, so your statement may differ a little. The first class is free.
No. We teach you to plan, write and test your own work, and we explain the criteria in plain English. The work you hand in has to be your own, and we keep it that way.
Elsewhere on this site
More on computer science for pupils in Germany.
All our pages for families in Germany.
The national picture across all AGIS schools.
Both 0478 papers in detail.
How the German side reads the IB.
CSA and CSP from Germany.
Informatik in the Oberstufe, in English.
Part of the guide: Coding and maths in Berlin
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
Tell us your board and your next deadline. In the first class the mentor sets one short programming task at your level, watches how you approach it, and suggests the course and format that fit.
To read first, the IGCSE 0478 syllabus and the IB Computer Science course list every topic, and how we teach shows a live class.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live online with mentors in India, in English only. WhatsApp reaches us fastest, 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