ICO / PRE / 01
Python for teens
A first language learnt properly before IB pressure starts.
Open the syllabusGermany · IB Diploma Computer Science · Ages 16 to 19
An IB pupil in Hamburg, Munich or Frankfurt studies the same Computer Science course as one in Singapore, but the diploma will later be read by German universities through a rulebook of the Kultusministerkonferenz. That rulebook has a quiet surprise for anyone who loves computing: Computer Science never counts as the science. This page explains the rule, turns the whole subject checklist into a short Python program, shows how IB points become a German average, and describes how our tutoring fits beside school.
Teaching live online since 2020 · 10,000+ students worldwide · SL and HL, internal assessment included
In short
IB Computer Science tutoring for pupils in Germany at Modern Age Coders is live online teaching in English for IB Diploma students at Standard and Higher Level: programming, algorithms, computer systems theory, the internal assessment and timed exam practice, in our IB Diploma Computer Science course. One regular mentor matches your pace and accent, in a group of fifteen to twenty or one to one.
Where to start
The Computer Science course itself, the maths course every IB plan needs, and an extended essay mentor for pupils who want to write theirs in computing.

ICO / 01
SL and HL. Programming taught by writing and testing real code, the theory topics, and coaching for the internal assessment.
Open the syllabus →
ICO / 02
The maths a computing pupil leans on: logic, sequences, functions and probability, at SL or HL.
Open the syllabus →
ICO / 03
For HL pupils who finish the syllabus early and want the algorithm depth a first university year expects.
Open the syllabus →The German side of the diploma
No. In the KMK agreement on recognising the IB Diploma, the natural science has to be Biology, Chemistry or Physics. Computer Science appears in a different list: the subjects allowed for the sixth slot.
The Kultusministerkonferenz first agreed how Germany recognises the IB Diploma on 10 March 1986; the version in force is dated 15 June 2023. It recognises the diploma as a university entrance qualification after at least twelve ascending school years of full-time schooling, if the six examined subjects follow a set pattern.
Among the six there must be two languages at level A or B, one natural science from Biology, Chemistry and Physics, a maths course (Analysis and Approaches or Applications and Interpretation) and one social science such as History, Geography, Economics, Psychology, Philosophy, Business and Management or Global Politics.
The sixth subject may be another of those, or one from a further list that names Computer Science, Design Technology, Digital Society, Sports Exercise and Health Science and others. So a pupil can take Computer Science, even at Higher Level, as long as a Biology, Chemistry or Physics course is also in the plan.
From the 2025 exams, the agreement adds that among the three Higher Level subjects at least one must be a language, maths or one of the three natural sciences. Every subject must be taken continuously over the two years of the Diploma Programme.
| Slot | What the KMK accepts | Computer Science here? |
|---|---|---|
| Languages | Two languages at level A or B, at least one a continued foreign language | No |
| Natural science | Biology, Chemistry or Physics | No |
| Mathematics | Analysis and Approaches or Applications and Interpretation | No |
| Social science | History, Geography, Economics, Psychology, Philosophy and others listed | No |
| Sixth subject | Any of the above, or one of a further list | Yes, it is on that list |
| Higher Level rule | At least one HL subject is a language, maths or a listed science (from 2025) | CS at HL does not meet this alone |
Source: Kultusministerkonferenz, Vereinbarung über die Anerkennung des International Baccalaureate Diploma (Beschluss vom 10.03.1986 in der Fassung vom 15.06.2023), section 1 a) to d), read 2 November 2026. The table is our summary; the agreement itself is the text that counts, and each Land applies it.
We are not connected with the KMK, the IB or any school, and nothing here is admission advice. We describe what the published agreement says so that a family can ask the right question early: a plan with Computer Science HL and no Biology, Chemistry or Physics may look ideal for a future computing degree and still fall outside the pattern. The school's IB coordinator and the university admissions office are the people who give the binding answer.
Our worked example
Yes, and writing it is good Computer Science practice. A rulebook is a specification; a program that applies it is only trustworthy once it has been tested with plans that ought to fail.
Each list in the agreement becomes a Python set. A subject plan is a list of pairs: the subject and its level, SL or HL. The function check walks through the rules one by one and collects every problem it finds, instead of stopping at the first.
Collecting all the problems is a design choice. A pupil fixing a plan wants the full list in one go, not one complaint at a time.
Pupil A has English, German, Maths AA, Physics, Economics and Computer Science. Pupil B has dropped Physics for Computer Science HL and put Higher Level on Economics and Visual Arts. Pupil C has typed a subject the lists do not contain.
All three pupils are invented by us. Our copy of the lists is shortened for the example and is not the full KMK text.
SCIENCE = {"Biology", "Chemistry", "Physics"}
MATHS = {"Maths AA", "Maths AI"}
SOCIAL = {"History", "Geography", "Economics", "Psychology", "Philosophy",
"Social and Cultural Anthropology", "Business and Management", "Global Politics"}
SIXTH = {"Computer Science", "Visual Arts", "Music", "Theatre", "Latin",
"Design Technology", "Digital Society", "Sports Exercise and Health Science"}
def check(plan):
problems = []
langs = [s for s in plan if s[0].startswith("Lang")]
if len(langs) < 2:
problems.append("needs two languages")
if not any(s[0] in SCIENCE for s in plan):
problems.append("needs Biology, Chemistry or Physics")
if not any(s[0] in MATHS for s in plan):
problems.append("needs a maths course")
if not any(s[0] in SOCIAL for s in plan):
problems.append("needs a social science")
known = SCIENCE | MATHS | SOCIAL | SIXTH
for s in plan:
if not s[0].startswith("Lang") and s[0] not in known:
problems.append(s[0] + " is not on our copy of the lists")
core = [s for s in plan if s[0] in SCIENCE | MATHS or s[0].startswith("Lang")]
if not any(s[1] == "HL" for s in core):
problems.append("no HL in a language, maths or a science")
return problems or ["meets the subject rules"]
pupil_a = [("Lang A English", "HL"), ("Lang B German", "SL"), ("Maths AA", "HL"),
("Physics", "SL"), ("Economics", "SL"), ("Computer Science", "HL")]
pupil_b = [("Lang A English", "SL"), ("Lang B German", "SL"), ("Maths AI", "SL"),
("Computer Science", "HL"), ("Economics", "HL"), ("Visual Arts", "HL")]
pupil_c = [("Lang A English", "HL"), ("Lang B German", "SL"), ("Maths AA", "SL"),
("Chemistry", "HL"), ("Geography", "SL"), ("Robotics", "HL")]
for name, plan in [("A", pupil_a), ("B", pupil_b), ("C", pupil_c)]:
print("Pupil", name + ":", "; ".join(check(plan)))It prints Pupil A: meets the subject rules, then Pupil B: needs Biology, Chemistry or Physics; no HL in a language, maths or a science and Pupil C: Robotics is not on our copy of the lists.
Pupil B is the case this page exists for. Three Higher Level subjects, one of them Computer Science, and still two problems: no listed natural science, and none of the HL subjects is a language, maths or a science. Pupil C shows why the third rule matters. Without it, a misspelt or unlisted subject would pass in silence, and a checker that never says no is not a checker at all.
Points and grades
The agreement gives a formula. It takes 42 points as the maximum and 24 as the minimum, and every total from 42 to 45 counts as the best German average, 1.0.
P_MAX, P_MIN = 42, 24
def german_average(points):
if points >= P_MAX:
return 1.0
return 1 + 3 * (P_MAX - points) / (P_MAX - P_MIN)
for points in (45, 42, 38, 33, 29, 24):
print(points, "IB points ->", round(german_average(points), 2))It prints 45 IB points -> 1.0, 42 IB points -> 1.0, 38 IB points -> 1.67, 33 IB points -> 2.5, 29 IB points -> 3.17 and 24 IB points -> 4.0.
| IB points | German average |
|---|---|
| 42 to 45 | 1.0 |
| 38 | 1.67 |
| 33 | 2.5 |
| 29 | 3.17 |
| 24 | 4.0 |
Formula: KMK IB recognition agreement, section on the Durchschnittsnote: N = 1 + 3 (Pmax minus P) divided by (Pmax minus Pmin), with Pmax 42 and Pmin 24, bonus points included. The agreement says the average is worked out in the Land that assesses the certificate, under a separate 1991 KMK agreement on overall grades, which also governs how decimals are handled. We print two decimals; the official figure may be stated differently.
Two things are worth noticing as a programmer. The formula is a straight line between two fixed points, so every IB point is worth exactly one sixth of a German grade step: three grade steps spread over eighteen points. And the special case at the top, where 42 to 45 all become 1.0, has to be written as its own branch before the formula, otherwise 45 points would produce an average better than 1.0, which does not exist. Spotting that kind of boundary is exactly the habit the IB Computer Science exams reward.
IB schools in Germany
At international schools, and at a number of German state and private schools that run an IB stream alongside the Abitur.
AGIS, the association of international schools in Germany, says all its member schools are authorised IB schools offering at least one of the four IB programmes. It describes them as bringing together children from up to 65 nations, with English as the common language of teaching.
AGIS also says the IB Diploma offered at its schools is, with the prescribed subject combinations, equivalent to the German Abitur. Those prescribed combinations are the pattern in the table above.
The KMK agreement has an annex of schools whose graduates can gain general university access even with maths at Standard Level, because of a separate arrangement with the IB. In the annex dated 26 March 2026, the section for Germany numbers 59 schools.
For a pupil elsewhere, the agreement says maths at Standard Level, from the 2021 exams on, opens only subject-restricted access to degrees outside mathematics, the sciences and engineering. That matters for anyone planning to study computing.
Sources: AGIS, agis-schools.org, homepage and Wer wir sind, read 2 November 2026; KMK IB recognition agreement, footnote 3 and Anlage 1 (Stand 26.03.2026). We name no school as a source of our students and we are not connected with AGIS or any school.
Computer Science is taught at many but not all of these schools, and some offer it only at one level. Pupils sometimes come to us because their school cannot fit the subject into their timetable, sometimes because it is taught but the class moves faster than they can follow in their second or third language, and sometimes because they want the internal assessment project to be genuinely their own. Our classes are an addition to school, never a replacement: the school enters the pupil, marks the internal assessment and sends it for moderation.
What tutoring looks like
Mostly three things: code written live by the pupil, exam-style explanation in full sentences, and steady progress on the internal assessment.
Every class has the pupil at the keyboard. The mentor asks why a loop stops where it does before moving on.
IB answers are marked on precise words. We practise turning a working idea into a short, exact written answer.
For the internal assessment we coach the plan, the testing and the write-up. The code and the choices stay the pupil's own.
We do not write any part of an internal assessment, and we tell pupils plainly why: the IB requires the work to be their own, and a project a pupil cannot explain is worth less to them than a modest one they can defend line by line. The same goes for AI tools. Our under-18 pupils never use tools whose providers set 18 as the minimum age; the AI tools age guide lists each provider's own rule.
| Months | Main focus | What the pupil produces |
|---|---|---|
| First term of year 1 | Programming fundamentals and tracing code by hand | Small tested programs and trace tables |
| Rest of year 1 | Data structures, algorithms and systems theory | Timed short answers, a topic summary in their own words |
| Start of year 2 | Internal assessment: problem, client, plan | A clear proposal and test plan |
| Middle of year 2 | Building and testing the project | Working product, evidence of testing |
| Final months | Past-paper style practice under time | Full mock papers with feedback |
Our own teaching plan. The school's calendar and the IB deadlines it sets take priority over this plan.
Class times
Pupils usually come after school or on Saturday. The mentor works from India, which is ahead of Germany by four and a half hours in winter and three and a half in summer.
| Germany | India, winter (until 28 March 2027) | India, summer (from 28 March 2027) |
|---|---|---|
| 15:45 | 20:15 | 19:15 |
| 17:45 | 22:15 | 21:15 |
| Saturday 11:30 | 16:00 | 15:00 |
Germany is on UTC+1 (MEZ) in winter and UTC+2 (MESZ) in summer under the Einheitenzeitgesetz; summer time ended on 25 October 2026 and starts again on 28 March 2027. India keeps UTC+5:30 all year. These rows are examples, not fixed batches.
You pick the time of the free first class in your own clock when you book. Before mock exams and the internal assessment deadline, one-to-one pupils often add a second weekly class for a few weeks and then drop back.
Milestones
Our own milestones for IB Computer Science pupils, used to place a new pupil and to report progress to families.
| Stage | Typical timing | The pupil can |
|---|---|---|
| 1. Reading code | Weeks 1 to 4 | Trace a loop by hand and predict its output exactly |
| 2. Writing code | Months 2 to 4 | Write and test a function from a written specification |
| 3. Algorithms | Months 4 to 9 | Compare two solutions and say which grows faster, and why |
| 4. The project | Year 2, first half | Plan, build and test a product for a real client |
| 5. Exam ready | Final months | Answer theory and code questions in exact, short sentences |
Check your subject plan against the KMK pattern before the Diploma starts, not after.
If a program has never failed a test, you have not tested it yet.
Ask the school's IB coordinator how the plan reads for German universities.
A tutor should make your child explain their code, not hand them better code.
More courses
Each is taught live in English by a mentor who stays with the pupil, in a group or one to one.
ICO / PRE / 01
A first language learnt properly before IB pressure starts.
Open the syllabusICO / PRE / 02
For pupils on a Cambridge route before the Diploma.
Open the syllabusICO / PRE / 03
Classes and objects in a typed language.
Open the syllabusICO / DP / 01
Tables, queries and design for projects with real data.
Open the syllabusICO / DP / 02
Version history that shows how a project grew.
Open the syllabusICO / DP / 03
Models built and tested in Python, from 13.
Open the syllabusICO / DE / 01
For pupils in the German Oberstufe instead.
Open the syllabusICO / DE / 02
For pupils at American schools in Germany.
Open the syllabusICO / DE / 03
For pupils at British schools on Cambridge 9618.
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
Classes from mid-afternoon German time on weekdays.
Saturday
Late-morning classes for pupils with busy weeks.
One to one
A time set with the mentor that can shift around mocks.
Every line in class is typed by the pupil.
Answers practised in the short, exact style examiners mark.
Ideas explained again in other words when needed.
The same person from the first class to the exam.
Coaching on the internal assessment, never writing it.
Fifteen to twenty pupils, or one to one.
Student work
Programs our learners elsewhere have designed and shipped; a longer gallery lives on student labs.

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. The euro figure is calculated from the European Central Bank reference rate, while the actual charge runs in US dollars, so your bank does the conversion and 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 wrote about us on Google, left 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
IB families in Germany ask
No. Every class is live and in English only. AGIS says English is the common teaching language at its member schools, so the classes match the language of school. The mentor adjusts to how fast the pupil works and to their accent, and explains again in other words whenever needed.
No. The KMK agreement on the IB Diploma asks for Biology, Chemistry or Physics as the natural science. Computer Science is allowed as the sixth subject. Ask your IB coordinator how your own plan reads.
The agreement does not forbid it. From the 2025 exams, at least one of the three Higher Level subjects has to be a language, maths or Biology, Chemistry or Physics, so Computer Science HL works next to such a subject.
The KMK agreement uses a formula with 42 points as the maximum and 24 as the minimum, and treats 42 to 45 points as 1.0. With it, 33 points give 2.5. The Land that assesses the certificate makes the official calculation.
We coach it: choosing a problem, planning, testing and writing up. We never write code or text for it. The work has to be the pupil's own, and the school marks it.
No. We are an independent online school. We do not enter pupils for exams or award grades; the school and the IB do that.
The language your school uses for the course. Many IB schools teach Python or Java, and we teach both. Ask the school which one its Computer Science teachers use.
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 IB pupils come after school or on Saturday mornings.
You see euro on this page, worked out from the ECB reference rate; the card payment itself is made in US dollars and converted by your bank, so a small difference on the statement is normal. No card is needed for the free first class.
Yes, and it helps. A pupil who arrives in the Diploma already able to write and test small programs has more time for the theory and the project.
Elsewhere on this site
Further reading for IB and international pupils in Germany.
Our hub for learners across Germany.
The course in more detail, for any country.
For an essay in maths or computing.
For pupils on the German route.
Which tools a pupil under 18 may use.
What a live class looks like.
Start here
In the first class the mentor looks at where the pupil is in the Diploma, sets a short task on reading and writing code, and suggests a plan up to the exam, in English and at the pupil's pace.
Before booking you can read how we teach or look through all our courses.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Lessons happen live on a video call, in English, with a mentor who works from India. A WhatsApp message gets the quickest 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