Oberhausen · Live online Python · From age 10

Online Python classes in Oberhausen

Most people who try to learn Python alone in an evening stop at the same place: they can follow an example, but they cannot change it to fit their own problem. Our live classes for Oberhausen learners are built around that step. A mentor watches you type, in English, and keeps you working until a piece of code is truly yours. On this page we show how the online part works, where Python meets school Informatik in North Rhine-Westphalia, and one small program that reads five of the city's own files.

Live classes since 2020 · over 10,000 students taught · Google rating 4.9 from about 547 reviews

At a glance

Online Python classes in Oberhausen at Modern Age Coders are live lessons, held on video and taught in English, in which a mentor follows the learner's screen and helps them write their own working code. Learners from 10, teenagers and adults each have their own course, from first scripts to reusable functions and real data files, in a batch of fifteen to twenty or one to one.

Pick a course

Which Python course suits a learner in Oberhausen?

One course that uses Python to make school maths visible, one full Python course for teenagers, and one for adults who want Python to do their routine work.

Live online, explained

How does a live online Python class work from Oberhausen?

You need a computer, a headset and a link. Everything else happens in the class.

  1. Before the first class. You receive a video link and a short checklist. No software needs to be bought; Python is free.
  2. In the first class. The mentor shares their screen and installs Python and a code editor with you, step by step, on your own computer. You write and run a first program before the hour is over.
  3. In every class after that. You share your screen while you type. The mentor can see each line as it appears, which is the whole point: mistakes are caught in seconds rather than discovered alone at midnight.
  4. Between classes. A short practice task, sized to finish in twenty or thirty minutes. Your code is looked at together at the start of the next class.
  5. Every few weeks. A small project of your own, explained back to the mentor. If you can explain it, you have learned it.

What you see

Your own editor, the mentor's face in a corner, and whichever screen is being shared. In a group, other learners' screens appear when they share to ask a question, and those moments teach the whole group, because everyone watches a real mistake being fixed.

What you hear

Clear English at a calm pace. The mentor reads code aloud, line by line, and asks you to do the same. Reading code aloud is one of the quickest ways to find a bug, and it builds the vocabulary of programming at the same time.

What you do not do

Watch for an hour. A class where the learner only watches is a video with extra steps. In our classes the learner's hands are on the keyboard for most of the hour, and the mentor talks less than you might expect.

The mentors are in India and the lessons are in English only; we do not teach in German. Oberhausen families sometimes worry about that and then find it matters less than expected, because Python itself is written in English words and everything said is also shown on screen. Mentors slow down, repeat, and adjust to each learner's accent within the first few classes.

NRW schools

Do Oberhausen pupils learn Python or Informatik at school?

Every pupil in North Rhine-Westphalia now has Informatik in grades 5 and 6. After that it depends on the school type and on what the pupil chooses.

Informatik after grade 6 in North Rhine-Westphalia, by school type (2026/27)
School typeGradesWhat can be offered
All general school types5 and 6Pflichtfach Informatik for every pupil
Hauptschule7 to 10Informatik as a Wahlpflicht subject, up to eight weekly hours in total
Realschule7 to 10Wahlpflicht Informatik, usually three hours a week throughout
Gesamtschule and Sekundarschule7 to 10Wahlpflicht Informatik, usually three hours a week
Gymnasium (nine years)9 and 10Informatik offered in the Wahlpflicht area, six weekly hours in total, alone or combined with another subject
OberstufeEF, Q1, Q2Grundkurs three hours; Leistungskurs five hours in the Qualifikationsphase

From the North Rhine-Westphalia entry of the Gesellschaft für Informatik's Informatik-Monitor 2026/27, read on 2 November 2026. EF is the Einführungsphase, Q1 and Q2 the two years of the Qualifikationsphase.

So an Oberhausen pupil meets Informatik early, but after grade 6 it becomes a choice, and at a Realschule or Gesamtschule the elective competes with other subjects for the same hours. Pupils who do not choose it can go four years without another computing lesson. Others choose it and want more time at the keyboard than three hours a week shared with a full class.

That is the gap our Python classes fill. We teach beside the school, not instead of it, and we award no grades: the school's own Informatik course is what counts on the report. Our North Rhine-Westphalia page has the Land picture in full, including the central Informatik Abitur.

The steps

What are the steps from a first Python line to real programs?

Each step has one idea at its centre. The step most self-taught learners skip is the fourth.

Our Python steps, and the question each one answers (ours)
StepCentral ideaThe learner can answer
1Values and variablesWhat is stored, and under which name?
2Decisions and repetitionWhen does this line run, and how often?
3Lists and dictionariesWhere do I keep many values, and how do I find one?
4FunctionsHow do I write it once and use it everywhere?
5FilesHow do I read data someone else made?
6ErrorsWhat does this traceback tell me, and where do I look?
7ProjectsWhat problem of my own can I solve with all of this?

Our own outline. A ten year old in Maths Through Coding reaches step 4 with graphs and shapes; a teenager or adult on a full Python course reaches step 7 with their own project.

Functions are where Python stops being a list of instructions and becomes a tool. Before functions, a learner copies code and changes a word; after them, the learner writes one piece of code that works for many inputs, and spends the saved time on harder questions. The Oberhausen project below is a function meeting five files, and the fifth file is where the real learning happens.

A real Oberhausen project

Can one Python function read five Oberhausen visitor files?

The city of Oberhausen publishes how many people visited its high-ropes course, its swimming pool, the LVR industrial museum, the short film festival and the theatre. One function should be able to read them all. Should.

The data

The Stadt Oberhausen publishes these visitor figures through Open.NRW under the Datenlizenz Deutschland Namensnennung 2.0, which allows any reuse, including commercial, with the source named. The files were last updated on 30 September 2026; we downloaded the five CSV files on 3 November 2026 and gave them short names, such as hallenbad.csv and theater.csv.

Each file has one row per year and a column called "Besucher*innen insgesamt", total visitors. The files cover different spans: the high-ropes course since 2006, the swimming pool since 2008, the museum from 2000 to 2021, the festival since 2000 and the theatre since the 2004/2005 season.

The plan

Write one function, visitors(path), that opens any of the files and returns a dictionary from year to total. Then loop over the five files and print each one's peak and its latest figure.

A beginner would copy the reading code five times. That works until something changes, and then it must be fixed five times. A function is written once and tested on every file.

Version 1: one function, five filesPython
import csv

def visitors(path):
    counts = {}
    with open(path, encoding="utf-8") as f:
        for row in csv.DictReader(f, delimiter=";"):
            counts[row["Jahr"]] = int(row["Besucher*innen insgesamt"])
    return counts

FILES = ["hochseilgarten.csv", "industriemuseum.csv", "hallenbad.csv",
         "kurzfilmtage.csv", "theater.csv"]
for path in FILES:
    counts = visitors(path)
    peak = max(counts, key=counts.get)
    last = list(counts)[-1]
    print(path, "peak", peak, counts[peak], "latest", last, counts[last])

It prints four lines: hochseilgarten.csv peak 2009 48040 latest 2025 7962, industriemuseum.csv peak 2010 60336 latest 2021 7842, hallenbad.csv peak 2009 181285 latest 2025 162926, kurzfilmtage.csv peak 2016 20000 latest 2025 13809, and then stops with KeyError: 'Jahr'.

Four files work; the theatre breaks the program. The traceback's last line, KeyError: 'Jahr', says the dictionary for a row has no key called Jahr. Open theater.csv and the reason is in the first line: the theatre counts seasons, not years, and its first column is called "Spielzeit Theater Oberhausen", with values such as 2016/2017.

There are two ways to fix it. The tempting one is to copy the function, call the copy theatre_visitors and change one word. The better one is to notice what all five files share: the period, whatever its name, is always the first column. So the function should ask the file for its first column name instead of assuming it.

Version 2: the function asks the filePython
import csv

def visitors(path):
    counts = {}
    with open(path, encoding="utf-8") as f:
        reader = csv.DictReader(f, delimiter=";")
        period = reader.fieldnames[0]
        for row in reader:
            counts[row[period]] = int(row["Besucher*innen insgesamt"])
    return counts

FILES = ["hochseilgarten.csv", "industriemuseum.csv", "hallenbad.csv",
         "kurzfilmtage.csv", "theater.csv"]
for path in FILES:
    counts = visitors(path)
    peak = max(counts, key=counts.get)
    last = list(counts)[-1]
    print(path, "peak", peak, counts[peak], "latest", last, counts[last])

It prints the same four lines and then a fifth: theater.csv peak 2016/2017 65802 latest 2024/2025 44071.

Peak and latest totals in five Oberhausen visitor files (our program's output)
FilePeak periodPeak visitorsLatest periodLatest visitors
High-ropes course200948,04020257,962
LVR industrial museum201060,33620217,842
City swimming pool2009181,2852025162,926
Short film festival201620,000202513,809
Theatre2016/201765,8022024/202544,071

Data: Stadt Oberhausen via Open.NRW, visitor statistics for the Hochseilgarten, the LVR-Industriemuseum, the städtisches Hallenbad, the Internationale Kurzfilmtage and the Theater Oberhausen, licence Datenlizenz Deutschland Namensnennung 2.0, downloaded 3 November 2026. Programs and table are ours. The files carry a footnote column with the city's own notes on particular years. We are not connected with the city or the venues.

The table also hides a trap for the careless reader. "Latest" for the museum is 2021, four years older than the others, because that file stops there. A sentence like "all five venues are below their peak" is true, but comparing the museum's latest figure with the swimming pool's would compare different years. A good program prints the period next to every number, which ours does, and a good programmer reads it.

  1. Ages 10 to 12. Without running anything, guess which line of Version 1 fails on theater.csv. Then run it and check.
  2. Teenagers. Add a third column to the output: the percentage of the peak that the latest year reached. Round to one decimal place.
  3. Adults. The festival figures from 2007 to 2019 end in 000 or 500 much more often than the others. Count how many, and decide what that suggests about how they were measured.
  4. Everyone. Write a sixth file of your own with a different first column name and check that Version 2 reads it without any change.

Times and holidays

When are live Python classes for Oberhausen learners?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

Example Oberhausen times with the mentor's clock
OberhausenIndia, MEZ monthsIndia, MESZ months
16:1020:4019:40
18:0022:3021:30
Saturday 11:0015:3014:30
Sunday 12:1516:4515:45

MEZ is UTC+1 and MESZ is UTC+2, the two legal times of the Einheitenzeitgesetz. The present MEZ period started on 25 October 2026; MESZ returns on 28 March 2027. With India fixed at UTC+5:30, Indian clocks show 4 hours 30 minutes more than Oberhausen in MEZ and 3 hours 30 minutes more in MESZ. Batch times are agreed, never fixed in advance.

NRW school holidays 2026/27 and their length (KMK dates; lengths are our count of calendar days)
HolidayDatesDays
Herbstferien17 to 31 October 202615
Weihnachtsferien23 December 2026 to 6 January 202715
Osterferien22 March to 3 April 202713
Pfingstferien18 May 20271
Sommerferien19 July to 31 August 202744

Holiday dates from the KMK overview Ferienregelung 2026/2027, Stand 9 October 2025, Nordrhein-Westfalen line.

Online classes carry on through the holidays unless you choose a break. Oberhausen had 213,646 inhabitants on 31 December 2024, according to Destatis, in a Land of 18,034,454. Learners from the neighbouring cities, Mülheim an der Ruhr (173,050), Bottrop (118,535), Duisburg (502,270) and Essen (574,682), are in North Rhine-Westphalia too, so they share Oberhausen's school calendar and can join the same batches.

Signs of progress

How can you tell that a Python learner is improving?

Five signs we look for. None of them is a grade, and each can be seen in the learner's own code.

Signs of progress in Python (ours)
SignWhat it looks like
PredictsSays what a program prints before running it
Reads errorsGoes to the line a traceback names, not to the top of the file
ReusesWrites a function instead of a second copy
GeneralisesChanges a function so it works for a case it failed on
LabelsPrints the period or unit next to every number

For parents

The Oberhausen project tests three of these signs in one exercise. If your child can explain why Version 2 is better than a copied function, the course is working.

You receive short updates on which signs your child has shown.

For adult learners

Generalising is the habit that saves the most time at work. Every report you automate will one day meet a file that is slightly different.

Bring your own files and we will build the exercises around them.

Beyond the first course

Nine more courses for Python learners in Oberhausen

Grouped by where a learner is heading. Every course is live, in English, with a regular mentor.

I

Younger learners

Ages 6 to 16

POB / START / 01

Python and AI for Kids

Turtle drawings, games and small AI, 9 to 12.

Open the syllabus

POB / START / 02

Scratch first

For children not yet typing comfortably, 6 to 12.

Open the syllabus

POB / START / 03

Informatik Companion

Help beside school Informatik, Klasse 5 to 10.

Open the syllabus
II

Teenagers going further

Ages 13 to 18

POB / TEEN / 01

Data science for teens

Files, charts and first models, 14 to 18.

Open the syllabus

POB / TEEN / 02

Competitive programming

Contest problems for teens who already code.

Open the syllabus

POB / TEEN / 03

PCEP and PCAP preparation

Preparing for the Python Institute exams, from 13.

Open the syllabus
III

Adults

18 and over

POB / PRO / 01

Python masterclass

From zero to confident, at depth.

Open the syllabus

POB / PRO / 03

Python web development

Django and Flask, once the basics are in place.

Open the syllabus

Format

What does a week of online Python look like?

Two live classes, an hour each, with the same mentor, and one short task in between. That is all, and it is enough.

After school

Oberhausen afternoon slots for pupils.

Evening

Later slots for adults after work.

One to one

Times agreed with the mentor and moved when needed.

Your screen

Shared while you type, so help is instant.

Your editor

Python installed on your own computer.

Your mentor

The same person all course long.

Your batch

Learners of a similar age and stage.

Your files

Real data, including German open data.

Your progress

Short notes on what changed.

Student work

What our students have made

A few student projects, from small games to data tools. The student labs page has many more.

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

What does online Python cost in Oberhausen?

The fee is per month and includes eight live classes. It appears below in euro, worked out with the European Central Bank reference rate, but the payment is processed in US dollars; your bank does the currency conversion, so its figure may not match ours to the cent.

Free first class

Free

no card required

  • One free class
  • Python installed, a first program run
  • No card, no contract
Book it

Group batch

€90

a month, eight live classes

  • A batch of fifteen to twenty
  • A regular mentor
  • Two classes a week
  • Monthly, end it any month
Start here

One to one

€134

a month, eight live classes

  • A mentor for one learner
  • Your own pace and projects
  • Times you arrange
Enquire

What families say

Rated 4.9 across 547 Google reviews

From Google, written by parents and students themselves.

★★★★★

"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

Oberhausen asks

Online Python classes in Oberhausen: answers

Are the Python classes taught in German?

No. We teach in English only. The mentors are based in India and keep a calm pace, rephrase when needed and adapt to how each learner speaks; since Python is made of English keywords, the language of the class and of the code is the same.

Is it really live, or a video course?

Really live. A mentor is on the call for the whole hour and watches the learner's shared screen while they type. There are no recorded lessons standing in for the mentor.

What do I need at home in Oberhausen?

A laptop or desktop computer, a headset or quiet room, and a steady internet connection. Python and the code editor are free and installed with the mentor in the first class.

Do NRW schools teach Informatik?

Yes, in grades 5 and 6 every pupil at a general school has the compulsory subject Informatik. From grade 7 it is an elective that depends on the school type, and in the Oberstufe it can be a three-hour Grundkurs or, in the Qualifikationsphase, a five-hour Leistungskurs.

From what age can someone learn Python with you?

From about 10 in our Maths Through Coding course, from 9 in Python and AI for Kids, and at any age as a teenager or adult. Younger children usually start with Scratch.

When can I take classes in Oberhausen 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. Pupils tend to take late afternoons and adults evenings.

What is the visitor project on this page?

An exercise we wrote on five visitor files published by the city of Oberhausen. One Python function reads four of them and fails on the theatre file, whose first column is a season rather than a year. Fixing the function, not copying it, is the lesson.

Can adults learn Python from scratch?

Yes. Our adult courses assume no experience. Many adults in the Ruhr area want Python to automate office tasks, and they usually write their first useful script within the first month.

How many people are in a batch?

Between fifteen and twenty learners at a similar stage and age. One-to-one is the alternative: two private classes a week with a mentor of your own.

How is the monthly fee paid?

The fee is shown in euro at the European Central Bank reference rate and paid in US dollars, converted by your bank, so the booked amount may differ a little. The trial class costs nothing and needs no card.

Keep reading

Related pages

Other pages for Python and coding in North Rhine-Westphalia and Germany.

Coding classes in North Rhine-Westphalia

The Land, its schools and the Informatik Abitur.

Python course in Germany

Every Python course we teach in Germany.

Informatik Abitur in NRW

The central exam, explained.

Coding for adults

For learners after school.

Python for kids

Python for children aged 9 to 12.

How we teach

What happens in our live classes.

More pages for this Land

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

Book a free Python class

Tell us the learner's age and what they have tried before. In the trial hour the mentor installs Python with them, writes a first program together and then recommends a course and a format.

To read more first, see how we teach or look through the full course list.

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

Python classes run live online in English, with mentors based in India. Questions are answered fastest on WhatsApp, in English.

Free trial, no card.

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