FRA / BASE / 01
Python for teens
From a first script to real projects, for beginners.
Open the syllabusFrankfurt am Main · International schools · IB, IGCSE, AP
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
One per programme taught in the region's international schools: the IB Diploma, Cambridge IGCSE and the American Advanced Placement.

FRA / 01
For Diploma pupils at SL or HL, joinable any month: the case study, algorithmic thinking in Python or Java, and steady support through the internal assessment.
Open the syllabus →
FRA / 02
Six months, from the basics: the full Cambridge 0478 syllabus, pseudocode, and both papers practised under timed conditions.
Open the syllabus →
FRA / 03
Six months of Java from first principles to the free-response questions, for schools that list Advanced Placement.
Open the syllabus →The schools, as context
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.
| School (AGIS listing) | Pupils listed | Programmes listed |
|---|---|---|
| Frankfurt International School (address in Oberursel) | 1,820 | IB Primary Years Programme, International Baccalaureate, Advanced Placement, Select Exams |
| Metropolitan School Frankfurt | 743 | IB Primary Years Programme, IGCSE, IB Diploma Programme, MSF High School Diploma in G12 |
| Metropolitan International School (Viernheim) | 350 | IB 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
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.
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.
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.
| Point | IB Diploma (KMK reading) | Informatik in the Hessian Oberstufe |
|---|---|---|
| Can it replace a science? | No; Computer Science is a sixth-slot subject only | Partly; the Monitor says it can replace the sciences in part |
| Weekly hours | Set by the school and the IB | Grundkurs two or three hours; Leistungsfach five |
| Written exam | IB papers, set by the IB | Central Hessian tasks, no practical part on a computer |
| 2027 written exam dates | Set by the IB, not by Hessen | Grundkurs 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
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.
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.
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.
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
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.
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.
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?
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.
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.
| Step | Bike rows matched | Rows lost without warning |
|---|---|---|
| Version 1, key (from, to) | 497 | 32 |
| Version 2, key sorted | 529 | 0 |
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.
Beyond the syllabus
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.
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.
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
Teenage pupils often choose an early-evening weekday slot or a weekend afternoon. The table gives examples in Frankfurt time.
| Frankfurt | India, until 28 March 2027 | India, from 28 March 2027 |
|---|---|---|
| 17:20 | 21:50 | 20:50 |
| 18:40 | 23:10 | 22:10 |
| Sunday 15:10 | 19:40 | 18: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
Our own checkpoints for international school computing, used to place a pupil and plan the year.
| Stage | Checkpoint | Why it matters |
|---|---|---|
| Before IGCSE | Trace a loop by hand and write it in pseudocode | Written questions ask for algorithms on paper |
| IGCSE exam year | Arrays, files and a linear search, tested with edge cases | Most lost marks are boundary cases |
| Before the Diploma | Write and test functions in Python or Java | The Diploma moves fast from week one |
| IB internal assessment | Plan, build, test and evaluate a substantial program of their own | The work must be the pupil's own |
| AP exam year | Classes, ArrayLists and 2D arrays in Java, correct before running | Habits from the IDE do not help on paper |
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.
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
All live and in English with one regular mentor, in a small group or one to one.
FRA / BASE / 01
From a first script to real projects, for beginners.
Open the syllabusFRA / BASE / 02
The language of AP CS A, taught from zero.
Open the syllabusFRA / BASE / 03
Logic, data structures and searching, step by step.
Open the syllabusFRA / DATA / 01
Joins and queries on real tables, as in the project.
Open the syllabusFRA / DATA / 02
Python and first models, ages 14 to 18.
Open the syllabusFRA / DATA / 03
How models learn, built in Python.
Open the syllabusFRA / ALT / 01
The Create task and the exam.
Open the syllabusFRA / ALT / 02
For pupils who move to a German Oberstufe.
Open the syllabusFRA / ALT / 03
Contest problems for pupils who already code.
Open the syllabusHow lessons 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.
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.
Who knows the programme and the pupil.
IB, Cambridge or College Board, never mixed up.
Whichever the school uses.
Coursework stays the pupil's, always.
Tracing and pseudocode for written papers.
Fifteen to twenty pupils, or one to one.
Student work
Teenagers who learn to code properly end up shipping real software. Some recent student projects appear below, with 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
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
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, 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
More for international school families in Germany.
The same question for every region of Germany.
IB CS in Germany, in more depth.
Cambridge 0478, paper by paper.
Hessian school rules for the whole Land.
For older students on the way to university.
All our pages for Germany.
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
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.
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