Frankfurt am Main · International schools · IB, IGCSE, AP

Coding for international school students in Frankfurt

The Frankfurt area has several large international schools, teaching IB, IGCSE and American AP courses in English. This page is for their pupils and parents: what the schools list, how a German university reads an IB Diploma that includes Computer Science, how that differs from Informatik in a Hessian Gymnasium, which of our live courses fits which programme, and a project on the city's traffic counts in which a perfectly ordinary join quietly loses six per cent of the data.

Live online since 2020 · 10,000+ students worldwide · IB, IGCSE and AP computer science in English

The short answer

Coding for international school students in Frankfurt means live online computer science lessons in English from Modern Age Coders for pupils at IB, IGCSE and AP schools around the city: IB Diploma Computer Science, IGCSE Computer Science 0478 or AP Computer Science A, in Python or Java. One mentor follows the school's syllabus and the pupil's pace, one to one or in a group of fifteen to twenty.

Courses by programme

Three courses for Frankfurt international school pupils

One per programme taught in the region's international schools: the IB Diploma, Cambridge IGCSE and the American Advanced Placement.

The schools, as context

Which international programmes do Frankfurt-area schools teach?

We name schools here only to describe what is on offer, from the directory of AGIS, the association of international schools in Germany. We do not claim any link with them, and we never say our students come from a particular school.

AGIS member schools in Hessen near Frankfurt, as the AGIS directory lists them
School (AGIS listing)Pupils listedProgrammes listed
Frankfurt International School (address in Oberursel)1,820IB Primary Years Programme, International Baccalaureate, Advanced Placement, Select Exams
Metropolitan School Frankfurt743IB Primary Years Programme, IGCSE, IB Diploma Programme, MSF High School Diploma in G12
Metropolitan International School (Viernheim)350IB Diploma Programme, Cambridge Primary, Lower and Upper Secondary (IGCSE), Hessen Education Plan

Source: AGIS, Arbeitsgemeinschaft der Internationalen Schulen in Deutschland, school directory and Hessen member list, read 2 November 2026. AGIS says it represents 23 member schools and that all of them are authorised IB schools. Pupil numbers are as AGIS lists them, not our count.

Three things follow for a family. First, computing in these schools is examined in English, against IB, Cambridge or College Board syllabuses, not the Hessian Kerncurriculum. Second, two different exam traditions can sit in one building: an IGCSE year group may be learning Cambridge pseudocode while the Diploma years write Python or Java. Third, a pupil who joins mid-programme, after a move to Frankfurt for a parent's job, can arrive with a different first programming language from the one the class uses. That last case is where outside help pays off fastest.

IB Computer Science in Germany

Does IB Computer Science count for a German university?

It can be one of the six subjects, but not in place of a science. The Kultusministerkonferenz sets the rules for when an IB Diploma counts as a German university entrance qualification.

What the KMK agreement says

The KMK agreement on recognising the IB Diploma, as amended on 15 June 2023, requires two languages, mathematics, a social science and "ein naturwissenschaftliches Fach (Biology, Chemistry, Physics)" among the six exam subjects. Computer Science appears only in the list of subjects allowed for the sixth slot, so it cannot stand in for the science.

Of the three Higher Level subjects, at least one must be a language, mathematics or a science from that list, and all six subjects need at least an IB grade 4, with one 3 allowed if it is balanced by a 5 at the same level or higher and 24 points in total.

The maths footnote, and the two Frankfurt names

A separate footnote restricts graduates who take Mathematics at Standard Level to subject-bound university access outside maths, science and technology. Schools listed in the agreement's Anlage 1 are the exception.

In Anlage 1, dated 26 March 2026, Frankfurt International School is number 25 and Metropolitan School Frankfurt number 31. For their graduates, Mathematics SL does not by itself limit access. Families should still check every subject choice with the school's own counsellors before the Diploma begins.

Computing at upper secondary level: IB Diploma and the Hessian Oberstufe compared
PointIB Diploma (KMK reading)Informatik in the Hessian Oberstufe
Can it replace a science?No; Computer Science is a sixth-slot subject onlyPartly; the Monitor says it can replace the sciences in part
Weekly hoursSet by the school and the IBGrundkurs two or three hours; Leistungsfach five
Written examIB papers, set by the IBCentral Hessian tasks, no practical part on a computer
2027 written exam datesSet by the IB, not by HessenGrundkurs 15 April 2027; Leistungskurs 19 April 2027

Sources: Kultusministerkonferenz, Vereinbarung über die Anerkennung des International Baccalaureate Diploma (10.03.1986 i. d. F. vom 15.06.2023), Anlage 1 Stand 26.03.2026; Gesellschaft für Informatik, Informatik-Monitor 2026/27, Hessen page; Hessian ministry, Termine Landesabitur 2027. We describe these rules; we do not give admissions advice.

We teach the subject. The school and the IB award the Diploma, and universities decide on admission. What we can do is make sure a pupil who has chosen Computer Science can actually program, explain an algorithm in words and handle the case study, so the choice of subject never becomes the weak point of the Diploma.

Live, in English

How do our lessons fit an international school week?

International school pupils already study in English, so the language is the easy part. The harder part is time, and matching the exact syllabus of each programme.

English, as at school

We teach only in English, never in German. That suits an international school pupil, but we still adapt: mentors adjust their pace and accent to each learner, including pupils for whom English is a third language after German and a home language.

The right syllabus

An IB pupil, an IGCSE pupil and an AP pupil need different things in the same week: a case study, pseudocode rules, or Java free-response practice. Each course follows its own programme, and one to one we work from the pupil's school tasks.

Thinking, not copying

We never write internal assessments or coursework for a pupil. Mentors teach the pupil to plan, test and explain their own code, and to check any AI-generated suggestion against what the program really does.

Mentors are based in India and teach live over video. A Frankfurt pupil who finishes school mid-afternoon can take a lesson before dinner, and a weekend slot works well before internal assessment deadlines.

A Frankfurt data project

Joining Frankfurt's car and bike counts: where did 32 rows go?

Frankfurt publishes average traffic volumes for road segments: one table for motor vehicles, another for bicycles. Putting them side by side is a join, the most common operation in database work, and the place where data most often disappears without an error message.

The data

Stadt Frankfurt am Main publishes WFS Verkehrsmengen under the Datenlizenz Deutschland Namensnennung 2.0. The city describes the values as averages of the years 2019 to 2023 and notes that the bicycle counts were taken between the kerbs. We downloaded two layers on 3 November 2026: 530 segments for motor vehicles and 529 for bicycles.

Each segment is identified by two node numbers, the junction it starts from and the one it ends at. We saved both layers as kfz.csv and rad.csv with four columns: from_node, to_node, street and average.

The task

For each bicycle segment, find the motor-vehicle count on the same segment, so we can compare them. The natural key is the pair (from_node, to_node). Version 1 builds a dictionary for each table and keeps the bike rows whose key is also in the car table.

Before running it, predict: with 529 bike rows and 530 car rows, how many should match?

Version 1: join on (from, to)Python
import csv

def load(path):
    table = {}
    with open(path, newline="", encoding="utf-8") as src:
        for r in csv.DictReader(src):
            table[(r["from_node"], r["to_node"])] = float(r["average"])
    return table

cars = load("kfz.csv")
bikes = load("rad.csv")
matched = [k for k in bikes if k in cars]
print("Bike segments:", len(bikes), "matched:", len(matched), "lost:", len(bikes) - len(matched))

It prints: Bike segments: 529 matched: 497 lost: 32. No error, no warning, and 32 rows gone.

Looking at the 32 lost rows shows the cause at once. Every one of them is in the car table, but with its two node numbers the other way round: the bike layer drew the segment from junction A to B, the car layer from B to A. A road segment has no direction here, so the two keys describe the same thing. The fix is to normalise the key, always putting the smaller node number first, before either table is built.

Version 2: normalise the key, then count againPython
def segment(a, b):
    return tuple(sorted((a, b)))

def load2(path):
    table = {}
    with open(path, newline="", encoding="utf-8") as src:
        for r in csv.DictReader(src):
            table[segment(r["from_node"], r["to_node"])] = float(r["average"])
    return table

cars = load2("kfz.csv")
bikes = load2("rad.csv")
matched = [k for k in bikes if k in cars]
print("Bike segments:", len(bikes), "matched:", len(matched), "lost:", len(bikes) - len(matched))
print("Car segments with no bike row:", len([k for k in cars if k not in bikes]))
more_bikes = [k for k in matched if bikes[k] > cars[k]]
print("Segments with more bikes than motor vehicles:", len(more_bikes))

Run after Version 1. It prints: Bike segments: 529 matched: 529 lost: 0, Car segments with no bike row: 1 and Segments with more bikes than motor vehicles: 34.

Now every bike row finds its partner, and only one car segment, on Wilhelmshöher Straße, has no bike row at all. The comparison can start: on 34 segments the bike average is higher than the motor-vehicle average. The head of that list is Oeder Weg, with 3,631.67 bikes against 2,634.67 motor vehicles, followed by Scheffelstraße with 2,304 against 1,323.

What the join does to the result (our calculation on the city's counts)
StepBike rows matchedRows lost without warning
Version 1, key (from, to)49732
Version 2, key sorted5290

Data: Stadt Frankfurt am Main, www.frankfurt.de, WFS Verkehrsmengen Frankfurt am Main, layers zs_kfz24 and zs_rad24, Datenlizenz Deutschland Namensnennung 2.0, downloaded 3 November 2026. The join, the counts and the comparison are ours. The city notes that cycle volumes were measured between the kerbs, so cycle tracks off the carriageway are not in these numbers; 26 bike rows are 0, among them motorway sections of the A 5, A 66, A 648 and A 661.

  1. IGCSE. Write the join in pseudocode with two arrays and a nested loop, then explain why a dictionary is faster for 529 rows.
  2. IB. State the precondition Version 1 silently assumed about the keys, and write a test that would have caught the 32 lost rows.
  3. AP. Rewrite segment() in Java as a method that returns a String key such as "62506009-62506013", and check it with both orders.
  4. Going further. The street names are in both tables. Count how many matched pairs have different street names, and decide whether that is a data problem or not.

Beyond the syllabus

Can international school pupils in Frankfurt enter German computing contests?

Yes. The national informatics contest is open by age, not by school type, and it is a serious challenge for pupils who enjoy hard problems.

Bundeswettbewerb Informatik

The 45th Bundeswettbewerb Informatik opened on 1 September 2026, and its first round closes on 23 November 2026. It is open to young people up to 21 who are not yet at university or in work, and the first round allows group work.

Round two follows in early 2027, round three in September 2027. The organisers choose the German team for the International Olympiad in Informatics from the top of this contest.

How we help

Our informatics competitions course trains with original problems in the style of these rounds, in English. We never solve a pupil's contest submission for them, and we are not connected with the organisers.

Because round one allows group work, a pupil can team up with classmates; round two must be done alone, so it is worth starting early.

Lesson times

When are lessons in Frankfurt time?

Teenage pupils often choose an early-evening weekday slot or a weekend afternoon. The table gives examples in Frankfurt time.

Sample Frankfurt times for teenage pupils, with India time
FrankfurtIndia, until 28 March 2027India, from 28 March 2027
17:2021:5020:50
18:4023:1022:10
Sunday 15:1019:4018:40

German legal time under the Einheitenzeitgesetz is UTC+1, and UTC+2 during summer time, which ended on 25 October 2026 and returns on 28 March 2027. India uses UTC+5:30 without a summer change. The rows are examples; one-to-one times are agreed individually.

Lessons keep running through school breaks, which at international schools do not always match the Hessian calendar. A pupil with an internal assessment deadline can add lessons in the weeks before it and drop back afterwards.

Our checkpoints

What a pupil should manage before each exam stage

Our own checkpoints for international school computing, used to place a pupil and plan the year.

Computing checkpoints across IGCSE, IB and AP (ours)
StageCheckpointWhy it matters
Before IGCSETrace a loop by hand and write it in pseudocodeWritten questions ask for algorithms on paper
IGCSE exam yearArrays, files and a linear search, tested with edge casesMost lost marks are boundary cases
Before the DiplomaWrite and test functions in Python or JavaThe Diploma moves fast from week one
IB internal assessmentPlan, build, test and evaluate a substantial program of their ownThe work must be the pupil's own
AP exam yearClasses, ArrayLists and 2D arrays in Java, correct before runningHabits from the IDE do not help on paper

For parents

The data join above is a fair test of the IB and AP stages: a pupil who asks "did any rows go missing?" without being told is ready for real project work.

We report in skills gained and work done, never in invented predicted grades.

For pupils

Before you join two tables, check that both write the key the same way.

Count the rows before and after every join. If the number changes, find out why.

More for teenagers

Nine more courses for Frankfurt teenagers

All live and in English with one regular mentor, in a small group or one to one.

I

Foundations

Ages 13 to 18

FRA / BASE / 01

Python for teens

From a first script to real projects, for beginners.

Open the syllabus

FRA / BASE / 02

Java for teens

The language of AP CS A, taught from zero.

Open the syllabus

FRA / BASE / 03

Algorithms for teens

Logic, data structures and searching, step by step.

Open the syllabus
II

Data and AI

Ages 13 to 18

FRA / DATA / 01

SQL for teens

Joins and queries on real tables, as in the project.

Open the syllabus

FRA / DATA / 02

Data science for teens

Python and first models, ages 14 to 18.

Open the syllabus

FRA / DATA / 03

AI and machine learning

How models learn, built in Python.

Open the syllabus
III

Other routes

Ages 13 to 19

FRA / ALT / 02

Informatik Abitur

For pupils who move to a German Oberstufe.

Open the syllabus

FRA / ALT / 03

Competitive programming

Contest problems for pupils who already code.

Open the syllabus

How lessons run

How live lessons fit around an international school timetable

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 evening

After a long international school day in Frankfurt.

Weekends

Longer sessions before an assessment deadline.

1-on-1

Built around the pupil's own IB, IGCSE or AP tasks.

One mentor

Who knows the programme and the pupil.

Exact syllabus

IB, Cambridge or College Board, never mixed up.

Python or Java

Whichever the school uses.

Own work only

Coursework stays the pupil's, always.

On paper too

Tracing and pseudocode for written papers.

Group or alone

Fifteen to twenty pupils, or one to one.

Student work

Projects by our students

Teenagers who learn to code properly end up shipping real software. Some recent student projects appear below, with more on the student labs page.

NutriLife AI nutrition coach project screenshot

AI and ML

NutriLife

An AI nutrition coach that reads what you eat and works you toward a target.

by Bhavya · Open it

Misti AI chatbot for maths and coding screenshot

AI and ML

Misti

A chatbot that answers mathematics and programming questions, built and deployed by a student.

by Harshit · Open it

GuardianX AI internet safety assistant screenshot

AI and ML

GuardianX

An assistant that helps a young person recognise unsafe situations online.

by Vivaan · Open it

SkyCast weather forecast application screenshot

Web app

SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

Fees for Frankfurt families

Each month covers eight live lessons. Euro amounts on this page use the European Central Bank reference rate for display only; the payment goes through in US dollars, and your bank turns it into euro, so the statement may show a slightly different figure.

Free first class

Free

no card required

  • A free first lesson
  • A look at a current school task
  • No card needed
Book it

Group batch

€90

a month, eight live classes

  • Fifteen to twenty pupils on the same programme
  • One regular mentor
  • Two lessons a week
  • Monthly, cancel any month
Start here

One to one

€134

a month, eight live classes

  • The pupil and one mentor
  • Built on the school's own tasks
  • Times around the school week
Enquire

What families say

Rated 4.9 across 547 Google reviews

Google reviews by parents and students, reproduced 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

Families ask

Computer science help for Frankfurt international school pupils: questions

Are the classes in German?

No. We teach in English only, and every lesson is live. That matches the language of international schools, and mentors still adjust their pace and accent to each pupil, including those for whom English is a second or third language.

Which programmes do you cover?

IB Diploma Computer Science at SL and HL, Cambridge IGCSE Computer Science 0478, and AP Computer Science A and Principles. We also teach the German Informatik Oberstufe course for pupils who move to a Hessian Gymnasium.

Can IB Computer Science replace a science for German university entry?

No. Under the KMK agreement on the IB Diploma, one of the six subjects must be Biology, Chemistry or Physics; Computer Science is allowed only as the sixth subject. Check every subject choice with the school before the Diploma starts.

Do you write or check internal assessments?

We never write any part of an internal assessment or coursework. We teach the skills behind it, such as planning, testing and evaluating, and we can explain the published criteria. The work and the decisions stay the pupil's.

Which language do you teach, Python or Java?

Whichever the school uses. Many IB pupils work in Python or Java, IGCSE pupils need Cambridge pseudocode alongside a language, and AP Computer Science A is examined in Java.

When are lessons in Frankfurt time?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. An early evening slot after school, or Sunday afternoon, suits many pupils.

Is the Bundeswettbewerb Informatik open to international school pupils?

Yes, it is open to young people up to 21 who are not yet at university or working. The 45th contest's first round runs from 1 September to 23 November 2026, and group work is allowed in that round.

Where are the mentors?

In India, teaching live over video. 17:20 in Frankfurt is 21:50 for the mentor in winter and 20:50 in summer. The pupil keeps the same mentor through the school year.

What do lessons cost, and in which currency?

Lessons are billed monthly. Prices here appear in euro at the European Central Bank reference rate, but the charge is in US dollars and your bank converts it, so the statement can differ a little. The first lesson is free, and no card is needed.

Do you know the schools in Frankfurt?

We follow the published IB, Cambridge and College Board syllabuses that the schools teach. We are not connected with any school, and we describe them on this page only from the AGIS directory.

Elsewhere on this site

Related pages

More for international school families in Germany.

International school pupils in Germany

The same question for every region of Germany.

IB Computer Science tutor

IB CS in Germany, in more depth.

IGCSE Computer Science tutor

Cambridge 0478, paper by paper.

Coding classes in Hesse

Hessian school rules for the whole Land.

Python and DSA

For older students on the way to university.

Coding classes in Germany

All our pages for Germany.

More pages for this Land

Part of the guide: Coding classes in Hesse

More guides: Coding classes in North Rhine-Westphalia · Coding classes in Lower Saxony · Coding classes in Land Bremen · 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

Book a free first lesson

Bring a current task, a past paper or a piece of code that will not work. The mentor works through it with the pupil, sees where the understanding stops, and recommends a course and a format.

Before booking, how we teach shows what a live lesson looks like and all courses lists each syllabus in full.

WhatsApp us · +91 91233 66161 · connect@modernagecoders.com

Mentors teach live online from India, in English only. WhatsApp is the fastest way to reach us.

Free, with no card and no commitment.

Want a class sooner? Book a priority demo

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

Keep exploring Modern Age Coders

Related courses and guides

Learn more

Free resources

From the blog

Start here

Free classPriority demoCall us