Freiburg im Breisgau · Python · Live online, in English

Online Python classes in Freiburg im Breisgau

Freiburg counts its cyclists every hour, and publishes the counts. That file has more than six hundred thousand rows, and the first thing it teaches a new programmer is humility: add it up the obvious way and you count every bike twice. This page explains how our live online Python lessons in English work, the stages from a first script to a file that size, where Informatik stands in Baden-Württemberg's schools, and the bike-counter project in full.

Live online since 2020 · 10,000+ students worldwide · one mentor who follows your code, in English

Straight answer

Modern Age Coders gives online Python classes for Freiburg im Breisgau as live video lessons in English. A mentor watches your shared screen as you write code, asks why, and helps the moment something breaks. Teenagers from about 13 and adults progress from first scripts to real data files and then a project they design. Classes run for 15 to 20 people or for one learner alone, and the mentor, the same each week, sets the speed and the English to suit you.

Starting courses

Which Python course should a Freiburg learner pick?

One for pupils, one for adults and university students, and one for anyone who already writes loops and wants to work with data.

What live means

How does a live online Python lesson actually work?

Think of it as sitting next to an experienced programmer who can see your screen, except the programmer is on a video call.

You drive

From the first lesson you write the code. The mentor watches your shared screen, and when something goes wrong asks a question rather than taking over: what did you expect this line to do? What does the error say?

It feels slower than watching a video. It is much faster at the one thing that matters, which is being able to do it alone afterwards.

The mentor steers

The mentor chooses problems a little above what you can already do, and spots habits early, such as copying code you do not understand or ignoring the last line of an error message.

In a group, the mentor follows several screens and stops the class when one learner's mistake will help everyone. One to one, the whole hour is yours.

What you need for live online Python, and what you do not (ours)
NeedDo not need
A laptop or desktop with a real keyboardAn expensive computer: any recent machine works
A microphone, a webcam if you likePaid software: Python and the editor are free
A stable internet connectionPrior programming knowledge
Two hours a week, plus a little practiceFluent English: the mentor adapts

Our own summary of how Modern Age Coders teaches. Lessons are live, never pre-recorded, and taught in English by mentors based in India.

Language

Do you also teach Python in German?

No. Our lessons are in English only. For Python, that is less of a hurdle than it sounds.

Clear about it

All lessons are taught in English by mentors who work from India. There is no German-speaking option, and we say so before anyone books.

Fitted to you

Mentors slow down, reword, and repeat without impatience, and adjust to your accent over the first lessons. A German word in the middle of a sentence is fine.

Code is English already

Every Python keyword is an English word, and so is every error it prints. Learning in English means fewer things to translate in your head.

Freiburg is a university city close to France and Switzerland, and many learners here already study or work in English. School pupils gain a weekly hour of spoken technical English on top of the programming.

The path

What are the stages from first script to real data?

Four stages, each ending with something you have built and can explain. Speeds vary, and the mentor tells you honestly where you are.

  1. Talk to Python. Printing, variables, input, if and else. You finish with a short quiz program that scores the answers.
  2. Repeat and organise. Loops, lists, dictionaries and functions. You finish with a game or a tool split into small functions you can test one at a time.
  3. Read real files. CSV files, counting, grouping, and checking your own totals. You finish with a counted answer from a large public dataset, like Freiburg's bike counters.
  4. Make it yours. You choose a question, gather data, write the program and explain both the answer and how far to trust it.
The four stages at two lessons a week (our planning figures)
StageTypical spanProof you can do it
Talk to Python4 to 6 weeksA quiz that keeps score
Repeat and organise6 to 8 weeksA program of tested functions
Read real files8 to 10 weeksA checked total from a public file
Make it yoursOpenA project with its limits written down

Spans are ours and not a promise. Anyone who already knows a bit begins wherever the trial lesson shows they should.

A real Freiburg project

How many bikes passed Freiburg's counters, and how do you avoid counting them twice?

Stadt Freiburg publishes the hourly counts of its bicycle counters as one long file under Datenlizenz Deutschland Namensnennung 2.0. Our Stage 3 learners use it to learn that a table can contain its own totals, and that adding everything is then wrong.

The file

The download has 653,041 rows. Each row is one hour at one counter: the date, the hour, a counter number from 1 to 18, the number of bikes, a direction code and a usage code. The file does not name the counters, so we refer to them by number.

The column for direction is headed "Fahrrad-Zählstelle Richtung (in, out, all)", and the values are 1, 2 and 3. The dataset page says the series runs from 2015 to the end of 2025; the file we downloaded on 3 November 2026 already reaches 8 April 2026.

The trap

Some counters have rows for code 1, code 2 and code 3 in the same hour. If 1 is in, 2 is out and 3 is all, then the code 3 row already contains the other two, and summing the whole file counts each bike twice.

That "if" needs checking. The first program shows the problem; the second checks the guess on every hour in the file before relying on it.

Version 1: add up one counter, the obvious wayPython
import csv

totals = {}
with open("freiburg_bikes.csv", encoding="utf-8-sig") as counts_file:
    rows = csv.reader(counts_file, delimiter=";")
    next(rows)                      # skip the header line
    for row in rows:
        year, counter, bikes = row[0][:4], row[3], row[4]
        if counter == "5" and year == "2024" and bikes != "":
            totals[row[5]] = totals.get(row[5], 0) + int(bikes)

print("Rows added up by direction code:", totals)
print("Naive total for counter 5 in 2024:", sum(totals.values()))

It prints: Rows added up by direction code: {'3': 234431, '1': 118546, '2': 115885} and Naive total for counter 5 in 2024: 468862.

Look at the three numbers: 118,546 plus 115,885 is 234,431, exactly the code 3 figure. The naive total of 468,862 is precisely twice the real number of bikes. A learner who reported it would have doubled Freiburg's cycling at that counter with one line of code.

Version 2: check the rule everywhere, then use only code 3Python
import csv

by_hour = {}
with open("freiburg_bikes.csv", encoding="utf-8-sig") as counts_file:
    rows = csv.reader(counts_file, delimiter=";")
    next(rows)
    for row in rows:
        if row[4] != "":
            by_hour.setdefault((row[3], row[2]), {})[row[5]] = int(row[4])

checked = broken = 0
for codes in by_hour.values():
    if "1" in codes and "2" in codes and "3" in codes:
        checked += 1
        if codes["3"] != codes["1"] + codes["2"]:
            broken += 1
print("Hours with all three codes:", checked, " where 3 is not 1 + 2:", broken)

yearly = {}
for (counter, stamp), codes in by_hour.items():
    if counter == "1" and "3" in codes:
        yearly[stamp[:4]] = yearly.get(stamp[:4], 0) + codes["3"]
for year in ("2015", "2019", "2024", "2025"):
    print("Counter 1,", year, ":", yearly[year])

It prints: Hours with all three codes: 55131 where 3 is not 1 + 2: 0, then Counter 1, 2015 : 2587770, Counter 1, 2019 : 2507586, Counter 1, 2024 : 2436346 and Counter 1, 2025 : 2676857.

Counter 1, bikes per year from code 3 rows only (our calculation)
YearBikesHours with a count
20152,587,7708,760
20182,710,3058,760
20212,343,9458,760
20232,675,8238,748
20252,676,8578,759

Data: Stadt Freiburg i. Br., Garten- und Tiefbauamt, Fahrrad-Zählstellen Zeitreihe (FR.ITZ dataset 3800), licence Datenlizenz Deutschland Namensnennung 2.0, downloaded 3 November 2026. The reading of codes 1, 2 and 3 as in, out and all is ours, from the column heading and the check above. Totals are ours.

In all 55,131 hours that have the three codes, code 3 equals code 1 plus code 2 without a single exception, so the guess holds and the safe rule is: use code 3 only. Counter 1, which has run since 2015, then gives between about 2.3 and 2.7 million bikes a year, with 2018 the busiest of the years shown and 2021 the quietest. Two smaller checks belong in any write-up: 2023 has 8,748 counted hours instead of 8,760, so twelve are missing, and the file reaches further than its description says. Both are worth a sentence, not a panic.

  1. Reproduce it. Run Version 1 for counter 10 instead of 5. Do the numbers show the same pattern?
  2. Commuter rhythm. For counter 1 in 2025 we found weekday averages of 682 bikes at 08:00 and 713 at 17:00, but 124 and 372 at weekends. Write the code that reproduces those four numbers.
  3. Missing hours. Find the twelve hours of 2023 with no count at counter 1. Are they together or spread out?
  4. Explain it. In four sentences for a non-programmer, say why the naive total was wrong and how you proved the fix.

School in Baden-Württemberg

How is Informatik changing at Baden-Württemberg schools?

Quickly. A new compulsory subject started in 2025/26 and grows by a year at a time, while few pupils carry Informatik into the Abitur.

Informatik in Baden-Württemberg, as the Informatik-Monitor 2026/27 records it
TopicWhat the monitor says
New subjectInformatik und Medienbildung, compulsory across Sekundarstufe I school types from 2025/26, starting in grades 5 and 6
Older profileThe profile subject IMP (Informatik, Mathematik, Physik) is being phased out
HoursOne of four Länder that already give four compulsory hours, the near-term target
OberstufeAt most Gymnasien grade 10 is the Einführungsphase and grades 11 and 12 the Qualifikationsphase
Abitur uptakeAbout one pupil in twelve takes Informatik in the Oberstufe

Source: Gesellschaft für Informatik, Informatik-Monitor 2026/27, Baden-Württemberg page and national overview, read 2 November 2026. We work next to the school subject, not instead of it: grades come from school, and Modern Age Coders is independent of the Land and its schools.

For a Freiburg pupil in grade 7 today, that means a compulsory subject has only just begun and is still being built up year by year. Outside lessons in Python give such a pupil depth the timetable cannot yet offer, and give an Oberstufe pupil practice for writing and reading real programs. With entries accepted from 1 September to 23 November 2026, round one of the Bundeswettbewerb Informatik is a good target for Stage 2 or 3 learners; we practise with our own problems only.

Baden-Württemberg's Christmas holidays run from 23 December 2026 to 9 January 2027 and its summer holidays from 29 July to 11 September 2027, later than most Länder, according to the KMK. Lessons continue through the holidays for anyone who wants them.

Times

When could my Python lessons be, in Freiburg time?

India is ahead of Freiburg, so Freiburg afternoons and early evenings fall in the mentor's evening. The rows show the gap, not set batches.

Sample slots: Freiburg and India
FreiburgIndia while Germany is on winter timeIndia once summer time starts on 28 March 2027
16:2020:5019:50
18:1022:4021:40
Saturday 13:0017:3016:30

Germany's legal time (Einheitenzeitgesetz) is MEZ, UTC+1, in winter and MESZ, UTC+2, in summer; this autumn's change was on 25 October 2026 and the spring change is on 28 March 2027. India keeps UTC+5:30 all year: four and a half hours ahead of Freiburg now, three and a half from late March.

Checkpoints

How will I see my progress?

Five checkpoints of ours, each one something you can show.

Five checkpoints we use with every Python learner
CheckpointTypically aroundWhat you can show
First runWeek 1Write and run a script on your own computer
ChoicesWeek 4Branch with if, elif and else
FunctionsWeek 10Split a program into small, testable functions
Big filesWeek 18Read a file of hundreds of thousands of rows
Self-checkWeek 22Prove your total is right before reporting it

For pupils and parents

Self-check is the bike project. It is also what teachers mean by "show your working" in Informatik.

Parents of pupils receive short notes after each checkpoint.

For adults

Adults with some spreadsheet experience often reach Big files in three to four months.

If work gets in the way, the plan bends; the mentor picks up where you are.

More options

Nine more courses for Freiburg learners

The same live format in English, the same regular mentor.

I

School-age

Ages 9 to 18

PFB / SCH / 01

Python and AI for Kids

For younger siblings, typed Python from 9.

Open the syllabus

PFB / SCH / 02

Informatik companion

Help beside the new compulsory subject.

Open the syllabus

PFB / SCH / 03

Oberstufe Informatik

Abitur-style Java and Python, in English.

Open the syllabus
II

Data and maths

Teens and adults

PFB / DATA / 01

Teen data projects

Public data, charts and first models.

Open the syllabus

PFB / DATA / 02

Statistics and probability

The tools for honest totals and averages.

Open the syllabus

PFB / DATA / 03

Data science course

Python, statistics and machine learning.

Open the syllabus
III

Building

Teens and adults

PFB / BUILD / 01

Python on the web

From a first route to a site people can use.

Open the syllabus

PFB / BUILD / 02

PCEP and PCAP

Towards the Python Institute certificates.

Open the syllabus

PFB / BUILD / 03

Git and GitHub

Version control from the first commit.

Open the syllabus

Rhythm

How the weekly live Python lessons fit a Freiburg week

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

Afternoon

After school for pupils.

Evening

After lectures or work.

Saturday

A midday slot for anyone.

Two per week

Live lessons of about an hour.

Your mentor

The same one every week.

Your keyboard

You type; the mentor guides.

Real files

Public data, not toy lists.

Checked work

Homework reviewed live.

Group or solo

15 to 20 learners, or one.

Student work

Built by our students

Projects from our students, unpolished and real. The student labs show 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

Fees for online Python in Freiburg

You pay per month for eight live lessons. Here we list the fee in euro, converted with the European Central Bank reference rate; the actual charge is in US dollars and your bank changes it into euro, so the booked amount may be a little higher or lower.

Free first class

Free

no card required

  • A free first lesson
  • A script written live
  • No card
Book it

Group batch

€90

a month, eight live classes

  • 15 to 20 learners at a similar stage
  • A regular mentor
  • Two lessons weekly
  • Monthly, cancel anytime
Start here

One to one

€134

a month, eight live classes

  • You and one mentor
  • Your pace, your data
  • Times that suit you
Enquire

What families say

Rated 4.9 across 547 Google reviews

What students and parents said about us on Google, 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

Freiburg asks

Online Python classes in Freiburg im Breisgau: questions

Are the classes in German?

No. Lessons happen live and solely in English; the mentors sit in India and tune their speed and wording to each learner and their accent. As Python itself is written in English words, nothing gets lost between the explanation and the code.

Is this a recorded course?

No. All lessons are live video calls. The mentor sees your shared screen, follows your code as you write it, answers straight away and reviews your homework in the next lesson.

Do I need to know any Python?

No. The first stage starts from zero. If you already know some, the free first lesson places you at the right stage.

What lesson times are possible?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Freiburg pupils often choose late afternoons, students and adults the evening or Saturday.

Does it help with the new school subject in Baden-Württemberg?

It can add depth. Informatik und Medienbildung became compulsory in Sekundarstufe I from 2025/26, starting in grades 5 and 6. We teach alongside school; the school decides marks and the Abitur.

Are university students and adults welcome?

Yes. The Python Masterclass and the Data Analysis course are built for adults and students, and one-to-one lessons can fit around lectures, shifts or family.

How many learners are in a group?

15 to 20 at a similar stage. With the one-to-one plan you have two private lessons a week at agreed times.

What currency do I pay in?

The monthly charge is made in dollars (USD). For orientation we print euro figures based on the ECB reference rate; your bank's own exchange decides the final euro debit. Your first lesson is free of charge.

What is the bike-counter project?

A teaching project we wrote around Stadt Freiburg's open hourly bike counts. Learners find that adding every row counts bikes twice, because the all-directions row already contains the in and out rows, prove the rule on 55,131 hours, and then total counter 1 by year.

Elsewhere on this site

Related pages

Next reads for Freiburg and the rest of the Land.

Coding classes in Baden-Württemberg

Our page for the Land.

Informatik Abitur BW

The exam subject in this Land.

Python course in Germany

Every Python course we offer.

Python and DSA

For international students.

Coding for adults

Starting as a grown-up.

How we teach

The live format, step by step.

More pages for this Land

Part of the guide: Coding classes in Baden-Württemberg

More guides: Coding classes in North Rhine-Westphalia · 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 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 live Python lesson

In the free lesson you write your first lines of Python while the mentor watches, then agree which stage and course fit. No installation beforehand; that is the first thing you do together.

Want the details first? Read how we teach or open a course syllabus.

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

Live, online, in English, with India-based mentors. A WhatsApp message is the quickest route to us.

Free, no card needed.

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