What are the best coding classes in Amsterdam-Oost?
Coding classes in Amsterdam-Oost reach a district assembled in 2010 out of two older ones, holding a quarter built after 1900, a dock converted from the 1990s and an island under construction since 2002. IJburg-West has 6,830 homes and 16,099 residents. Indische Buurt-West has 6,712 homes and 11,939 residents. The housing stock differs by 118 units and the population by 4,160 people, and every explanation for that lives in who chose to move where. Modern Age Coders teaches live online in English from the Ambonpleinbuurt to the Rieteilanden, ages 6 to 67, first lesson free, then USD 100 monthly in a group of five to ten or USD 150 one to one.
Two neighbourhoods in the same district. One has 6,830 homes, the other 6,712, a difference of under two percent. One holds 16,099 people and the other 11,939, a difference of thirty-five percent. Nothing about the ground explains that. What differs is the size of the homes and, far more importantly, who wanted them: families took the new island and single people took the older quarter. Any comparison between these two places is, before it is anything else, a comparison between two sets of people who selected themselves.
Facts last verified 8 September 2026. Teaching is online; no Amsterdam-Oost branch is claimed.
A groep 5 child on the Rieteilanden who wants to make something that runs, a teenager on the Java-eiland who has decided the web is where they build, a student in the Indische Buurt who wants to know what a model does rather than what it says, and an adult in Watergraafsmeer comparing two figures that were never comparable: four separate ways in, one free hour each.

Real typed Python, drawings that follow instructions and a first program that finds a rule, taught in English to the groep 5 to 8 child anywhere in the district.
See the syllabus
Components, state and a real interface that works on a phone, for the teenager who wants what they build to be usable by somebody else.
See the syllabus
Training, testing and breaking a model, for the student who would rather understand the machinery than quote its output.
See the syllabus
Cleaning, joining and the habit of asking who a comparison is really between, for anybody whose work involves setting two groups side by side.
See the syllabusBrowse the course atlas for more than one hundred options and use the coding roadmap to check prerequisites.
The four we are known for
These run underneath everything above. Every one is live and online, placed by ability rather than by age, and the first class is free.

Python, web and AI projects where the learner still owns the thinking.
See the syllabus
Automate the work you already do, then let AI carry part of it.
See the syllabus
Train a model, read what it learned, and be able to say why it is wrong.
See the syllabus
Run AI coding agents on real work without losing control of the codebase.
See the syllabusAmsterdam-Oost was created in 2010 by joining the former stadsdelen Oost-Watergraafsmeer and Zeeburg, and it is governed as a bestuurscommissiegebied. Its own entry publishes a population of 142,049 for 1 January 2020 and an area of 30.56 square kilometres. That population is six years older than the wijk figures below, which are 2026, so this page states both dates and does not divide one by the other.
| Item | As published | Date | What this page does with it |
|---|---|---|---|
| Residents | 142,049 | 1 January 2020 | quoted, and never combined with a 2026 figure |
| Area | 30.56 square kilometres | undated in the entry | quoted; no density is computed from a 2020 population |
| Formed | a merger of Oost-Watergraafsmeer and Zeeburg | 2010 | the reason the district reads as several places |
| Earlier joins | Watergraafsmeer annexed to the city in 1921; the stadsdelen Oost and Watergraafsmeer merged in 1998 | 1921 and 1998 | quoted as history, not used in any series |
| Still being built | IJburg under construction since 2002; Zeeburgereiland still being developed for housing | 2002 onward | the single most important fact on this page |
The wijken named in the entry include Amsteldorp, Betondorp, the Dapperbuurt, Frankendael, IJburg, the Indische Buurt, the Oostelijk Havengebied, the Oosterparkbuurt, the Transvaalbuurt, the Weesperzijde and Zeeburgereiland. Three of them carry full published figures on this page, and the rest are named without invented numbers. The city page in this series holds the picture for Amsterdam as a whole and this one does not repeat it.
A quarter begun after 1900, a working dock converted into housing from the 1990s, and an island still going up since 2002. All three sit in one district. The populations are 2026 figures, the household, area, housing and tenure figures are 2025, and the incomes are 2024.
16,099 residents in 7,040 households averaging 2.3 people, the largest household size on any Amsterdam page in this series. Only 2,575 households hold one person, 37 percent. 2,715 residents are under fifteen, 17 percent, and just 1,115 are sixty-five or over, 7 percent. 6,830 dwellings on 113 hectares of land, average value 613,000 euro, 44 percent owner-occupied, average income 45,300 euro. Five buurten, among them Steigereiland-Noord and the Rieteilanden-West.
20,556 residents in 11,210 households averaging 1.8, of which 5,210 hold one person, 46 percent. 2,235 residents are under fifteen, 11 percent, and 3,130 are sixty-five or over, 15 percent. 10,585 dwellings on 154 hectares of land inside 363 hectares of territory, average value 649,000 euro, 39 percent owner-occupied, average income 51,400 euro. Eleven buurten including the Java-eiland, the KNSM-eiland, Sporenburg and Borneo.
11,939 residents in 6,965 households averaging 1.7, of which 3,890 hold one person, 56 percent. 1,265 residents are under fifteen, 11 percent, and 1,480 are sixty-five or over, 12 percent. 6,712 dwellings on 47 hectares of land, 25,628 people to the square kilometre, average value 474,000 euro, only 30 percent owner-occupied, average income 36,600 euro. Three buurten: Timorpleinbuurt-Noord, Timorpleinbuurt-Zuid and the Ambonpleinbuurt.
IJburg-West has 6,830 dwellings and Indische Buurt-West 6,712, a difference of 118. The first holds 16,099 people and the second 11,939, a difference of 4,160. Per dwelling that is 2.36 people against 1.78. The buildings are not the story; the households in them are.
Betondorp, Amsteldorp, Frankendael, the Dapperbuurt, the Oosterparkbuurt, the Transvaalbuurt, the Weesperzijde, IJburg-Oost, Zeeburgereiland and the rest of Watergraafsmeer are named in the district entry. No figures are given for them, because none were read.
Nothing at all. A learner is placed on what they can already do, so a child on Steigereiland and a child off the Timorplein sit in the same group when they are at the same stage. The wijk is not a field in the form.
A check this page ran and handed on
The five age bands published for each of these three wijken add to 16,100, 20,570 and 11,950 against populations of 16,099, 20,556 and 11,939. All three are small overshoots, and all three sit inside the twelve and a half that rounding five figures to the nearest five can produce. Why that bound is the right test, and what to do when a gap exceeds it, is the argument of the Amsterdam-Noord page in this series, so this page notes the check and moves on.
One district entry with a stale population, three wijk pages with current ones, and a short list of sums this page will not do.
Amsterdam-Oost: 142,049 inwoners on 1 January 2020; oppervlakte 30.56 square kilometres; dit stadsdeel werd ingesteld in 2010 en is een samenvoeging van de vroegere stadsdelen Oost-Watergraafsmeer en Zeeburg; het stadsdeel wordt bestuurd als bestuurscommissiegebied; sinds 2002 wordt IJburg gebouwd; het Zeeburgereiland wordt nog ontwikkeld tot een nieuwe locatie voor woningbouw; na 1900 begon ook de bouw van de Indische buurt; Watergraafsmeer was annexed in 1921 and the stadsdelen Oost and Watergraafsmeer were merged in 1998.
16,099 residents (2026); 7,040 households averaging 2.3 (2025); 2,575 single-person, 37 percent; ages 2,715, 2,610, 4,885, 4,775 and 1,115; 126 hectares total and 113 land; 14,239 per square kilometre; 6,830 dwellings; average value 613,000 euro; 3,005 owner-occupied at 44 percent and 3,825 rented at 56; average income 45,300 euro (2024); 5 buurten.
20,556 residents (2026); 11,210 households averaging 1.8 (2025); 5,210 single-person, 46 percent; ages 2,235, 1,945, 7,200, 6,060 and 3,130; 363 hectares total and 154 land; 13,481 per square kilometre; 10,585 dwellings; average value 649,000 euro; 4,128 owner-occupied at 39 percent and 6,457 rented at 61; average income 51,400 euro (2024); 11 buurten.
11,939 residents (2026); 6,965 households averaging 1.7 (2025); 3,890 single-person, 56 percent; ages 1,265, 1,400, 5,110, 2,695 and 1,480; 48 hectares total and 47 land; 25,628 per square kilometre; 6,712 dwellings; average value 474,000 euro; 2,014 owner-occupied at 30 percent and 4,698 rented at 70; average income 36,600 euro (2024); 3 buurten.
No district density, because the published population is from 2020 and the area carries no date. No district average of any kind, because three of the district's wijken were read and a partial average is not an average. No comparison of the 2020 district population with any 2026 wijk figure. Mixing vintages is the argument of the Apeldoorn page in this series and this page declines to demonstrate it again.
What this page claims and does not claim about the differences
The three wijken differ enormously and every figure quoted for them is published. What this page does not do is attribute those differences to the places. It does not say that IJburg produces families, that the Indische Buurt produces single households, or that either neighbourhood causes an income. It says that homes of different sizes were built in different decades and that different people chose them, which is the only claim the data actually supports. Modern Age Coders has no connection to the stadsdeel, the city or any school named here and claims none.
Three neighbourhoods, three eras, and a set of differences that describe the residents rather than the ground they stand on.
IJburg-West and Indische Buurt-West have 6,830 and 6,712 homes, within two percent of each other, and hold 16,099 and 11,939 people. The housing stock is almost identical in number and the populations are not, which forces the question away from the buildings and onto the households inside them.
Nobody was assigned to either place. Family-sized homes went up on new land after 2002 and families moved into them; smaller older flats in a quarter built after 1900 suited people living alone, and 56 percent of its households do. Every difference in age, income and tenure between these two wijken is downstream of that sorting.
Would the same households have looked different if they had swapped neighbourhoods? If you cannot answer that, and here nobody can, then you are not comparing two places at all. You are comparing two groups of people who arranged themselves, and the neighbourhood is a label on the outcome rather than a cause of it.
| Wijk and when it was built | Residents | Dwellings | People per dwelling | Under fifteen, and sixty-five plus |
|---|---|---|---|---|
| IJburg-West, under construction since 2002 | 16,099 | 6,830 | 2.36 | 17 percent, and 7 percent |
| Oostelijk Havengebied, docks converted from the 1990s | 20,556 | 10,585 | 1.94 | 11 percent, and 15 percent |
| Indische Buurt-West, built after 1900 | 11,939 | 6,712 | 1.78 | 11 percent, and 12 percent |
| The closest pair | differ by 4,160, or 35 percent | differ by 118, under 2 percent | 2.36 against 1.78 | a ten-point gap in children, a five-point gap in pensioners |
Almost nobody is assigned to a neighbourhood, a school, a product, a gym or a newsletter. People arrange themselves, and once they have, any comparison between the groups measures the arranging at least as much as it measures the thing. The example here is unusually clean because the housing stock is nearly identical in size and the populations are not, so the buildings can be ruled out and the sorting cannot. The version that costs real money is the one where the sorting is invisible. A school whose pupils outperform another school may be teaching better or may be admitting differently, and league tables cannot tell those apart. Customers who use a feature may be more loyal because of it or may have been the loyal ones who tried it. A town with an unusual health statistic may have a cause worth finding or may simply be where people move when they retire. In every case the question that separates the two is the same, and it is a question about a world that did not happen: what would these same people have looked like in the other place? Sometimes there is a way to get at that, through a change nobody chose, a lottery, a boundary drawn for unrelated reasons, a rule that applied to some people and not others. Usually there is not, and then the honest report describes the groups, says plainly that they selected themselves, and refuses the causal sentence that everybody wants. Describing is not a lesser activity than explaining. It is what you are entitled to do.
Two schools, two branches, two cohorts, users against non-users, a region against the national figure: whenever people ended up in the groups by choosing, the comparison is about the choosing. Practised on two neighbourhoods with the same number of front doors.
| Stage | Rule | What it prevents | What it gives you |
|---|---|---|---|
| Ask how people got in | Write down the mechanism that put each person in each group | Choice mistaken for assignment | The sorting, in the open where it can be argued with |
| Hold the obvious things constant | Find the pair that is alike in the thing you can measure | A difference explained by the first idea available | A comparison that has ruled something out |
| State the counterfactual | Say what the same people would have looked like elsewhere | A causal sentence nobody can support | A clear view of whether the question is answerable |
| Hunt for an unchosen difference | Look for a boundary, a rule or a timing nobody selected into | Giving up when evidence was available | Occasionally, a real comparison |
| Describe when you cannot explain | Report the groups and name the selection instead of guessing | A confident conclusion built on sorting | A finding that survives somebody checking it |
Children who chose the football club and children who chose the chess club, and a question about which group is faster. They work out that nobody was put in either club, and that the answer was decided before anyone ran anywhere.
The three wijken in Python, a comparison function that will not run until it is told how members entered each group, and an output that prints the selection mechanism next to every difference. The stretch: find the pair that is closest on housing stock, explain why that pairing is worth more than the other two, and say what it still cannot rule out.
A real comparison from work between users and non-users, or between two teams or two regions. Adults almost always find a difference everybody explains causally and a selection mechanism nobody has written down.
District population, area, formation, governance and the wijk list come from the stadsdeel entry; every population, household, age, area, density, dwelling, value, tenure and income figure comes from the national statistics office page for the wijk named beside it, with populations for 2026, household and housing figures for 2025 and incomes for 2024. The people-per-dwelling ratios of 2.36, 1.94 and 1.78, the differences of 118 dwellings and 4,160 residents, the 35 percent and the three age-band sums are this page dividing, subtracting and adding published numbers, and are labelled as arithmetic wherever they appear.
The rung is decided in the free hour by what the learner can already do, and never by which of the district's neighbourhoods the address falls in.
Children discover that the answer was settled before the race began.
Scratch Coding for KidsMinecraft Coding for KidsLearners hunt for the pair that holds something constant, and say what that buys.
Python and AI for KidsWeb Development for KidsTeenagers write code that refuses to compare two groups until told how people entered them.
React Course for TeensAI and Machine Learning for TeensAdults take a real users-against-non-users comparison and find the selection inside it.
AI and ML MasterclassData Analysis CourseBecause the question invited a cause and the data only contains a choice.
Ask a model why one neighbourhood has 17 percent children and another 11, and you will get reasons: green space, family housing, schools, the water. Some of that is even true in a loose sense. All of it is phrased as though the place acted on the people, when what actually happened is that homes of a certain size were built at a certain time and households of a certain shape moved into them. The model is not being careless. It answered the question it was asked, and the question smuggled in the assumption that there is something to explain about the ground.
So the learner practises writing the comparison that declares its own groups: how did each person get into this group, what does that make the difference about, and what would the same people look like elsewhere. It is a small amount of code around a large amount of discipline. A fifteen-year-old on the Java-eiland who has taken two neighbourhoods apart this way will be the person at thirty who asks whether the successful branch has better management or better customers. Models will keep producing the causal sentence, fluently and on demand. Knowing that the data does not license it stays a person's job.
The case for a child in Amsterdam-Oost learning to code in 2026 is therefore not about islands. It is that adult life is full of comparisons between groups that assembled themselves, that the difference between choosing and being placed decides whether any conclusion is available at all, and that two neighbourhoods with the same number of front doors and 4,160 different residents make the point better than any textbook. The longer argument is in why learning to code still repays a child in 2026.
Oost runs from streets built before the First World War to ground that did not exist twenty-five years ago, and the far end of it is a genuine journey from the middle of the city.
One fixed hour a week at the kitchen table on Steigereiland, the KNSM-eiland or off the Timorplein, with no tram, no bridge and no room to book at either end.
Teaching runs in English throughout. Groep, havo, vwo and profielkeuze stay in Dutch, because those are the words on the paperwork a child brings home.
A level demonstrated rather than asserted, a named course that follows from it, and a weekly time. Nobody is asked for a card during it.
Two learners at the same level work together whether they are on new land or in a hundred-year-old flat, and two at different levels do not.
Two live lessons a week in a repeating slot, normally eight in a month. Noord-Holland takes its school holidays with regio Noord, and weeks away go into the plan before it is agreed.
Only the Dutch clock changes, so the distance to the teacher depends on the month. After school, early evening and both weekend days work at either setting.
The district with the youngest neighbourhood in this series
IJburg-West has 2,715 residents under fifteen and 1,115 over sixty-five, the only wijk on any Amsterdam page here where children outnumber pensioners more than two to one. That is a large cohort of school-age learners in one place and a thin one a few kilometres away, which is exactly the situation where a group formed on ability from across the world beats a group formed from whoever lives nearby, at every age up to sixty-seven.
Written down here instead of held back for a call.
A full lesson with a real task, a level and a named next course.
Per month, normally eight lessons, five to ten learners placed by ability.
Per month, normally eight lessons, one learner with one teacher.
There is one international rate, quoted in dollars, and no euro edition, so an address on the Rieteilanden sees exactly what an address in the Ambonpleinbuurt sees. Nothing is charged until the free lesson has settled a course and an hour, and payment is arranged over WhatsApp afterwards. Pausing, changing plan and missing a week are described on the pricing page.
Rated 4.9 across 547 Google reviews. These are real reviews, 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
The first task might be the football club against the chess club, a comparison function that will not run until told how people entered each group, or a users-against-non-users chart from work that has been read causally for years.
The district, its three eras, its selection problem, the teaching and the terms.
IJburg-West has 6,830 dwellings and 16,099 residents; Indische Buurt-West has 6,712 dwellings and 11,939. That is 2.36 people per home against 1.78. The homes on the new island are family-sized and were built after 2002, and families moved into them, while the older quarter has smaller flats and 56 percent of its households are one person. The difference is about which households chose which stock, not about the ground either sits on.
This page does not say so and the figures do not support it. Family-sized housing was built and families moved in, which is a fact about sorting rather than about the neighbourhood doing anything to anybody. To claim the place itself makes a difference you would need to know what the same households would have looked like elsewhere, and nothing published here answers that. Describing the difference honestly is what the data allows.
Because that is the date the stadsdeel entry gives: 142,049 residents on 1 January 2020. The wijk figures underneath it are 2026. Rather than quietly comparing the two, this page prints both dates and refuses to compute any district density, share or average from figures six years apart.
The district entry names Amsteldorp, Betondorp, the Dapperbuurt, Frankendael, IJburg, the Indische Buurt, the Oostelijk Havengebied, the Oosterparkbuurt, the Transvaalbuurt, the Weesperzijde and Zeeburgereiland among others. Full published figures appear here for IJburg-West, the Oostelijk Havengebied and Indische Buurt-West, and no numbers are invented for the rest.
In 2010, by joining the former stadsdelen Oost-Watergraafsmeer and Zeeburg, and it is governed as a bestuurscommissiegebied. Watergraafsmeer had been annexed to the city in 1921, and the stadsdelen Oost and Watergraafsmeer were merged in 1998, so the district as it stands is the result of at least three separate joins.
No. Every lesson is in English from beginning to end. Dutch school vocabulary is deliberately kept as a Dutch school writes it, so groep, havo, vwo and profielkeuze are used rather than translated. No Dutch-language version of any course exists.
The teacher is three and a half hours ahead during Dutch summer time and four and a half in winter, because only the Dutch clock moves. The practical window runs from the end of the school day to mid-evening, with Saturday and Sunday fully open, and one repeating weekly slot is agreed at the free lesson.
No, and none is claimed on IJburg, elsewhere in Amsterdam or anywhere in the Netherlands. All teaching is live and online and needs a laptop or desktop, working audio, a current browser and a connection that holds. The telephone number on this page is an Indian one and is described as such.
The first lesson is free. After it, group tuition is USD 100 a month for two live lessons a week, normally eight in a month, in a group of five to ten. One-to-one tuition is USD 150 a month at the same frequency with a single teacher. Course, format, recurring hour and availability are all confirmed before anything is paid.
Five to ten, matched on level, pace and goal rather than on age, school or neighbourhood. One-to-one means a single learner with a single teacher. When no group at the right level is running, a family can take one-to-one lessons or wait for the next group to form.
West of here is Amsterdam-Centrum, whose page takes apart a district less crowded than its own neighbourhoods, and north across the water is Amsterdam-Noord, where the age bands outnumber the population. The city page, coding classes in Amsterdam, carries the picture for all eight districts, and the city sits inside Noord-Holland. Everything descends from the Netherlands coding hub, and a learner after trained models rather than running programs should start at AI and machine learning classes in the Netherlands or the AI and Python Academy.