PHE / SCH / 01
Informatik Companion
Klasse 5 to 10 in English, from the NRW grades 5 and 6 course onwards.
Open the syllabusHerne · Python, live online · Ages 9 to adult
An online class can mean a video you watch alone, or a teacher who sees your code the moment you type it. Ours is the second kind. This page shows what happens in a live Python lesson from the first minute to the last, which Python route suits a child, a teenager or an adult in Herne, what the NRW timetable does and does not cover, and a Python project built on the City of Herne's own list of its old pit shafts.
Live online since 2020 · 10,000+ students worldwide · a mentor who reads your code as you write it
In short
Online Python classes in Herne from Modern Age Coders are live video lessons in English, taught in real time by a mentor who sees your code as you type it and matches your pace and accent. Children from 9, teenagers and adults follow one Python path from first programs to real data files, either one to one or in a batch of fifteen to twenty, at Herne afternoon and weekend times.
Three ways into Python
The language is the same at every age. What changes is the speed, the projects and how much maths sits underneath.

PHE / 01
For children of nine to twelve. Turtle drawings, small games and first data lists, then simple AI ideas, typed rather than dragged.
Open the syllabus →
PHE / 02
Ages 13 to 17. From variables to files, functions and classes, with problems that line up with NRW Informatik from grade 9.
Open the syllabus →
PHE / 03
For students and working adults. Zero to advanced, with data handling, testing and automation of real tasks.
Open the syllabus →Live, not recorded
People in Herne often ask us whether "online" means a course of videos. It does not. Here is one ordinary hour, step by step.
Lessons are taught in English only. The mentor slows down, rephrases and checks understanding, and quickly learns how each learner speaks. A Herne pupil whose English is still growing practises it for real every class, around code that looks the same in any language.
We teach learners to plan a program in plain words first and to predict its output before running it. Copying a finished answer, from a classmate or from an AI tool, is never the goal; being able to explain every line is.
A laptop or desktop computer, a stable connection and a free Python editor that the mentor helps you install in the first class. A tablet is fine for watching but awkward for typing, so we suggest a keyboard from the start.
The mentors work from India over a live video link, so the slots further down land in Herne afternoons and at weekends. In a group the same mentor stays with the batch; one-to-one learners keep the same mentor too, so the person reading your code next month already knows how you think.
One language, three routes
Our own outline of how the same language is taught at three ages, with the first program each learner usually finishes.
| Learner | First weeks | First real program | Later |
|---|---|---|---|
| Child, 9 to 12 | print, turtle drawing, simple loops | A drawing that repeats a shape with a loop | Games with scores, lists, a first look at data |
| Teenager, 13 to 17 | Variables, conditions, functions | A quiz that keeps score and checks answers | Files, dictionaries, classes, small data projects |
| Adult | Syntax quickly, then working habits | A script that tidies a folder or a spreadsheet export | Testing, automation, data analysis, APIs |
This table is ours: it describes how our Python courses are ordered, not any school curriculum. The pit-shaft project below is the point where all three routes meet: a child can count shafts on paper, a teenager can write Version 1, and an adult can write Version 2 and explain why it is faster.
For learners of 9 and over we start with typed Python rather than block coding. Typing is slower at first, but every error message is a small lesson in reading carefully, and the habit of reading carefully is what separates someone who can code from someone who can follow a tutorial.
Younger children who are not yet comfortable on a keyboard usually do better with a Scratch course first; the free first class shows which suits.
Most adults who try Python alone stop at the same place: the first program that works but that they cannot explain. A mentor who asks "what will this print?" before you press Run turns that point into the start of real understanding.
For teenagers the same questions are the ones that matter in Informatik at school, where the written Abitur in NRW is done without a computer.
Herne schools
Herne is in North Rhine-Westphalia, which is one of the Länder with Informatik on the compulsory timetable, but only for two school years. The facts below come from the Gesellschaft für Informatik and the KMK.
| Grades | Informatik on the timetable |
|---|---|
| 1 to 4 | Grundschule: no Informatik subject |
| 5 and 6 | Compulsory Informatik at all general school types |
| 7 and 8 | No compulsory Informatik |
| 9 and 10 | At G9 Gymnasien, Informatik in the Wahlpflicht area, if chosen |
| Qualifikationsphase | Grundkurs three hours a week, or Leistungskurs five hours, if offered |
| Abitur | Written tasks set centrally; no computer in the written exam |
Sources: Gesellschaft für Informatik, Informatik-Monitor 2026/27, page for Nordrhein-Westfalen, which says Informatik is a Pflichtfach "in den Jahrgangsstufen 5 und 6" and that a computer is not intended for the written Abitur tasks; read on 2 November 2026. Population: Destatis, Gemeindeverzeichnis, 31 December 2024: Herne 155,851, North Rhine-Westphalia 18,034,454.
A Herne child meets Informatik in grades 5 and 6, then usually not again as a fixed subject until an elective in grade 9 or a course in the Oberstufe. Two years is a good start, but it is often the moment a child discovers they like programming and then has nowhere to take it.
Python is a natural next step at that point: it reads almost like English, it is used at universities and in work, and it fits the problem-solving style the school course begins.
If a Herne teenager chooses Informatik as a Grundkurs or Leistungskurs, the written Abitur is solved without a computer. That rewards pupils who can trace code by hand and plan before they type, exactly the habits our live classes practise. We teach alongside school: the school course and its teacher remain the ones that count for grades.
Our Informatik Abitur course in English covers the Java and Python side of that work for pupils who want extra practice.
| Holiday | Dates |
|---|---|
| Autumn | 17 October to 31 October 2026 |
| Christmas | 23 December 2026 to 6 January 2027 |
| Easter | 22 March to 3 April 2027 |
| Whitsun | 18 May 2027 |
| Summer | 19 July to 31 August 2027 |
Source: KMK, Ferien im Schuljahr 2026/2027, Stand 9 October 2025, first and last holiday days. Our classes carry on through school holidays; families can pause and pick up again.
A real Herne project
Herne grew on coal. The city publishes its list of historic colliery shafts as open data, free to reuse, and the years each one worked. That is enough for a proper Python question with a surprising answer and a lesson about order.
The dataset is called Historische Zechenstandorte and comes from the City of Herne's geodata service, listed on GovData under the licence Datenlizenz Deutschland Zero 2.0. We downloaded it on 3 November 2026: 80 shaft sites, each with a name such as Shamrock 4 or Mont Cenis 2 "Carl", a year it started working and a year it stopped.
One site, Mont Cenis 5, has no years at all. The other 79 have both. Sixteen names end in Wetterschacht: shafts that carried fresh air into the mine rather than coal out of it.
In which year were the most shafts at work at the same time, and how many? A natural guess is the 1950s, the decade people often picture as the height of coal. The program disagrees.
We turn the GeoJSON into a small file, herne_shafts.csv, with three columns: name, opened, closed. Version 1 does the obvious thing: for every year from 1850 to 2000 it checks every shaft.
import csv
shafts = []
with open("herne_shafts.csv", encoding="utf-8") as f:
for row in csv.DictReader(f):
if row["opened"] and row["closed"]:
shafts.append((row["name"], int(row["opened"]), int(row["closed"])))
print("Shafts with both years:", len(shafts))
working = {}
for year in range(1850, 2001):
working[year] = sum(1 for _, a, b in shafts if a <= year <= b)
peak = max(working.values())
peak_years = [y for y in working if working[y] == peak]
print("Most shafts at work at once:", peak)
print("In the years:", peak_years[0], "to", peak_years[-1])It prints Shafts with both years: 79, Most shafts at work at once: 75 and In the years: 1930 to 1931.
The peak is 1930 and 1931, with 75 of the 79 shafts working, not the 1950s. By 1950 the count had already fallen to 68. Version 1 is correct but wasteful: it makes 151 passes over the list, one per year, and most years nothing changes. A professional would ask a different question: when does the count change at all?
The count changes only when a shaft opens or closes. So Version 2 turns each shaft into two events: plus one in the year it opened, and minus one in the year after it closed, because a shaft that closed in 1967 was still working during 1967. Sort the events, walk through them once with a running total, and keep the highest value seen.
import csv
events = []
with open("herne_shafts.csv", encoding="utf-8") as f:
for row in csv.DictReader(f):
if row["opened"] and row["closed"]:
events.append((int(row["opened"]), +1))
events.append((int(row["closed"]) + 1, -1))
events.sort()
running = 0
peak = 0
for year, change in events:
running += change
if running > peak:
peak, peak_year = running, year
print("Events to sort:", len(events))
print("Peak:", peak, "first reached in", peak_year)
print("Still working after the last event:", running)It prints Events to sort: 158, Peak: 75 first reached in 1930 and Still working after the last event: 0.
The answers agree, which is the first thing to check whenever you replace a slow program with a clever one. The hidden detail is the sort. Python sorts the pairs by year first and then by the second number, so in any year a closing event, minus one, comes before an opening event, plus one. Had the openings come first, the running total would briefly count a shaft that had already stopped, and in a different dataset the peak could be one too high. Deciding how ties sort is part of the program, not a detail.
| Year | Shafts working |
|---|---|
| 1860 | 5 |
| 1880 | 20 |
| 1900 | 40 |
| 1920 | 72 |
| 1930 | 75 |
| 1950 | 68 |
| 1960 | 67 |
| 1968 | 42 |
| 1975 | 23 |
| 1980 | 9 |
| 1990 | 6 |
| 2000 | 1 |
Data: Stadt Herne, Historische Zechenstandorte, Datenlizenz Deutschland Zero 2.0, downloaded 3 November 2026. Counts are our own, from the 79 sites with both years, counting a shaft as working in its first and last year. The single busiest closing year in the list is 1967, with 16 shafts; the last one, Ewald 2, is listed as working until 2000.
Free contests this autumn
Three national contests run by Bundesweite Informatikwettbewerbe have dates this month. We are not connected to them; we describe them because they are free and suit learners who like Python.
| Contest | Who | Date in 2026 |
|---|---|---|
| Informatik-Biber | Grades 3 to 13, through the school | Biberwochen 9 to 20 November 2026 |
| Jugendwettbewerb Informatik, round 3 | Possible from grade 3; round 3 uses the two junior tasks of the Bundeswettbewerb | Closing date 23 November 2026 |
| Bundeswettbewerb Informatik, round 1 | Young people up to 21 not yet studying or working | 1 September to 23 November 2026 |
Source: bwinf.de pages for the Biber, the Jugendwettbewerb (2026 edition) and the Bundeswettbewerb, read on 2 November 2026. In round 1 of the Bundeswettbewerb, group work is allowed and welcome; round 2, from early 2027, must be done alone.
We never use or copy the organisers' tasks. In class we write our own problems in the same spirit, like the shaft sweep above, and a learner who wants to enter is pointed to the organisers' free archive of past rounds. For the Biber, ask the class teacher whether the school is registered.
Class times
Herne keeps German time, which changes twice a year; India does not. The table shows what that means for a class time.
| In Herne | In India until 27 March 2027 | In India after the March 2027 change |
|---|---|---|
| Monday 14:45 | 19:15 | 18:15 |
| Thursday 16:15 | 20:45 | 19:45 |
| Sunday 10:15 | 14:45 | 13:45 |
German law (the Einheitenzeitgesetz) sets MEZ at UTC+1 for winter and MESZ at UTC+2 for summer. The clocks went back on 25 October 2026 and go forward again on 28 March 2027. Indian clocks stay at UTC+5:30 all year: a gap of four and a half hours to Herne in winter, three and a half in summer. The rows are examples only; no batch time is fixed here.
When you book, the times you see are already in your own clock. Adults in Herne often prefer an early evening or a weekend morning; school pupils usually take a slot after lessons end.
Milestones
Our milestones, used to place each learner and to report progress. They are ours, not a school standard.
| Stage | The learner can |
|---|---|
| 1. Statements | Print, calculate and store values, and predict the output of four lines |
| 2. Decisions and loops | Write a loop with a condition and say how many times it runs |
| 3. Collections | Use lists and dictionaries to count and look things up |
| 4. Files and functions | Read a CSV file, split work into functions, handle a missing value |
| 5. Algorithms | Replace a slow method with a faster one and prove both agree |
Stage 5 is the shaft sweep. Being able to say why two programs give the same answer is a better sign of progress than any number of finished exercises.
Reports describe what the learner built and can explain, not the hours spent online.
Before you run a program, say out loud what it will print. Then run it and compare.
When two events happen in the same year, ask which one your program sees first.
More with Python
Every one is taught live and in English by a mentor who stays with you, solo or in a batch.
PHE / SCH / 01
Klasse 5 to 10 in English, from the NRW grades 5 and 6 course onwards.
Open the syllabusPHE / SCH / 02
Java and Python practice for the Oberstufe, with tracing on paper.
Open the syllabusPHE / SCH / 03
Biber, BwInf and BWKI preparation with our own problems.
Open the syllabusPHE / DAT / 01
Fractions, graphs and primes checked with code, 10 to 15.
Open the syllabusPHE / DAT / 02
Real datasets, charts and a first model.
Open the syllabusPHE / DAT / 03
Logic, data structures and algorithms, step by step.
Open the syllabusPHE / ADU / 01
Python Institute exam topics, practised live.
Open the syllabusPHE / ADU / 02
Scripts that save hours of repetitive office work.
Open the syllabusPHE / ADU / 03
Excel, SQL and Python for real reporting.
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
Herne afternoons, once lessons are over.
Evenings
Early evening slots that suit adults after work.
1-on-1
A time agreed with your own mentor.
A real mentor, a real call, your own code on screen.
Keyboard from the first lesson, errors read together.
The same person each week, who knows your habits.
Rephrased and repeated until it lands.
Faster or slower than the group, one to one.
Projects on open data from Herne and NRW.
Student work
A few projects from our older students; the student labs page shows more of them.

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
You pay monthly for eight live classes. We show fees in euro, worked out at the European Central Bank reference rate, but the charge itself is made in US dollars, so your bank does the conversion and your statement may differ by a little.
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 students and parents, 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
Herne learners ask
No. We teach only in English, always live. Your mentor keeps a clear, steady speed, gets used to your accent and puts a hard sentence another way when needed. Python keywords are English words anyway, so the code itself does not change.
No. Each class is a live video call with a mentor who watches you write code, answers questions as they come up and asks you to explain your program. Nothing replaces the live lesson.
Children usually start typed Python from about 9. Younger children often begin with Scratch first. There is no upper age limit: many of our Python learners are adults.
It can. NRW teaches compulsory Informatik in grades 5 and 6, and later as an elective or Oberstufe course. Our classes teach alongside school, and the school course and its teacher remain what counts for grades.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Pupils often choose an afternoon slot, adults an early evening or a weekend morning.
In India. They teach you live over video. Indian clocks run four and a half hours ahead of Herne in winter and three and a half in summer, so a Herne afternoon is an Indian evening.
A laptop or desktop with a keyboard, a stable internet connection and a free Python editor. The mentor helps you install it in the first class.
A batch holds fifteen to twenty learners at a similar level. Prefer a mentor of your own? Then choose one to one: two private lessons each week, at hours you pick.
Once a month. This page lists the fee in euro using the reference rate of the European Central Bank; the charge is made in US dollars and converted by your own bank, so a small difference on the statement is normal. Your first lesson costs nothing.
Learners write their own code. We teach how to think through a problem and explain every line, not how to copy an answer from a person or a chatbot. Adults later learn to check AI-written code with tests.
Elsewhere on this site
More for Python learners in Herne and across Germany.
The NRW rules and dates in one place.
Our Python courses for learners anywhere in Germany.
Typed code for children from about nine.
Starting to code later in life.
Maths and informatics contests by date.
Our live lessons explained.
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 the mentor sets one short Python task, watches how you approach it and how comfortable you are following English, then suggests a course and a group.
If you would like to read first, how we teach describes a live lesson, and all courses has every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Herne learners are taught from India, live, and only in English. For a quick question, message us on WhatsApp 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