Skip to content
Home/Netherlands/Amsterdam/Amsterdam-West
West, Amsterdam

Coding classes in Amsterdam-West, where a neighbourhood still carries a label from 2009 and most of the buildings it described are gone

What are the best coding classes in Amsterdam-West?

Coding classes in Amsterdam-West reach the densest of the eight Amsterdam districts, formed in 2010 out of Oud-West, Westerpark, De Baarsjes and Bos en Lommer on 9.45 square kilometres of land. In February 2009 one of its neighbourhoods, De Kolenkit, was reported as the worst in the Netherlands. In the years after, a large part of it was demolished and replaced with new building, and one of its four buurten is now called Laan van Spartaan. The name is unchanged and much of the place is not. Modern Age Coders teaches live online in English across the whole district, ages 6 to 67, first lesson free, then USD 100 monthly in a group of five to ten or USD 150 one to one.

Search for De Kolenkit and you will still meet a sentence from February 2009 calling it the worst neighbourhood in the Netherlands. The same entry that records the label also records what happened next: an urban renewal plan under which a large part of the buurt was demolished and replaced by new construction. Seventeen years later the name is identical and a substantial part of the physical neighbourhood is not. A name is a promise that the thing on either side of it is the same thing, and that promise quietly broke here without anybody being told.

Facts last verified 9 September 2026. Teaching is online; no Amsterdam-West branch is claimed.

Course picks for Amsterdam-West

Four courses for the most crowded eight square kilometres in the city

A groep 5 child in Bos en Lommer who has run out of things to finish, a teenager off the Kinkerstraat who wants a page on the internet that is actually theirs, a student in the Helmersbuurt who would rather know how the model works than what it said, and an adult on the Laan van Spartaan whose employer switched on a set of tools and explained none of them: four doors, and the first hour of each is free.

Browse the course atlas for more than one hundred options and use the coding roadmap to check prerequisites.

The four we are known for

Python, AI, vibe coding and agentic coding

These run underneath everything above. Every one is live and online, placed by ability rather than by age, and the first class is free.

West today

Four old districts joined in 2010, on nine and a half square kilometres

Amsterdam-West was created in 2010 by joining Oud-West, Westerpark, De Baarsjes and Bos en Lommer, and since 1 January 2015 it has also held the part of Westpoort east of the A10. Its own entry says it has the highest population density of any district in the municipality, on an area given as 9.45 square kilometres of land.

Governed three ways in sixteen years

From 2010 to 2014 the district was run by an elected stadsdeelraad. In 2014 the deelraden were abolished across the city and the district has been governed by a bestuurscommissie since. The name Amsterdam-West has therefore covered three different arrangements, four predecessor districts and one addition of territory, all inside sixteen years.

A population figure four years old

The district entry publishes 148,908 residents for 1 January 2022. The wijk figures on this page are 2026 for population and 2025 for everything else, so no density, share or district total is computed here from the district figure, and the two are never divided into each other.

What this page measures

Two of the district's wijken carry full published figures: De Kolenkit and the Helmersbuurt. They are a deliberate pair, both dense, both largely rented, built in different centuries and treated very differently by the outside world. No district average is computed from two wijken.

What the district entry publishes, and its dates
ItemAs publishedDateUsed here?
Residents148,9081 January 2022quoted, never combined with a 2026 figure
Area9.45 square kilometres, stated as landundatedquoted; no density computed from a 2022 population
Densitythe highest of any district in the municipalityundatedquoted as the entry's claim, not tested here
Formedfrom Oud-West, Westerpark, De Baarsjes and Bos en Lommer2010the reason the district has no single older identity
Territory addedthe part of Westpoort east of the A101 January 2015noted; no series is drawn across it
Where the learners are

Two neighbourhoods, both crowded, one of them rebuilt

A nineteenth-century quarter that was never pulled down and a post-war one that largely was. Populations are 2026 figures; households, area, density, housing and tenure are 2025; incomes are 2024.

De Kolenkit

11,767 residents in 6,280 households averaging 1.9 people, of which 3,565 hold one person, 57 percent. 1,795 residents are under fifteen, 15 percent, and 1,040 are sixty-five or over, 8.8 percent. 74 hectares total and 72 of land, giving 16,368 people to the square kilometre. 6,095 dwellings at an average value of 419,000 euro, 4,876 of them rented at 80 percent, and an average income of 32,400 euro per resident. Four buurten: Kolenkitbuurt-Noord, Kolenkitbuurt-Zuid, Robert Scottbuurt-West and Laan van Spartaan.

Helmersbuurt

7,271 residents in 4,570 households averaging 1.6, of which 2,670 hold one person, 58 percent. 675 residents are under fifteen, 9.3 percent, and 1,010 are sixty-five or over, 14 percent. 35 hectares total and 33 of land, giving 22,424 people to the square kilometre. 4,470 dwellings at an average value of 646,000 euro, 2,906 of them rented at 65 percent, and an average income of 55,800 euro. Three buurten: Helmersbuurt-Oost, the WG-terrein and Cremerbuurt-Oost.

The denser one is not the one you would guess

The Helmersbuurt is at 22,424 people to the square kilometre and De Kolenkit at 16,368. The neighbourhood with the reputation is the less crowded of the two by a wide margin, which is worth knowing before anybody reaches for an explanation involving overcrowding.

And the ones not measured here

West also holds the Spaarndammerbuurt, the Staatsliedenbuurt, the Frederik Hendrikbuurt, the Da Costabuurt, the Kinkerbuurt, the Van Lennepbuurt, Westerpark, Landlust, Erasmuspark, the Overtoomse Sluis, the Vondelbuurt and the village of Sloterdijk, among twenty-seven named buurten. They are listed because they exist and given no invented numbers.

What the class asks about any of this

Nothing. A learner is placed on what they can already do, demonstrated in the free hour, so a child on the Laan van Spartaan and a child on the WG-terrein sit in the same group when they are at the same stage and in different ones when they are not. Neither the buurt, the school nor the reputation of an address is an input to the decision, and a family that moves across the district keeps its slot.

Verified local facts

Every figure, its source, its date, and what cannot be established

One district entry, one buurt entry, two wijk pages, and a list of things the published record does not settle.

The record, claim by claim
ClaimAs publishedSource and dateStatus on this page
The district148,908 residents; 9.45 km2 of land; formed 2010 from four stadsdelen; Westpoort east of the A10 added 1 January 2015; stadsdeelraad to 2014, bestuurscommissie since; the highest density in the municipalitystadsdeel entry, population dated 1 January 2022quoted; the density claim is not tested
The labelreported as the slechtste wijk van Nederland, the worst neighbourhood in the Netherlandsbuurt entry, attributed to NU.nl, February 2009quoted with its date and its source, and argued against
What happened afteran urban renewal plan under which a large part of the buurt would be demolished in the following years and replaced by new constructionbuurt entry, undated beyond the following yearsthe centre of this page
Figures alongside the assessmentunemployment 11.5 percent; early school-leaving 16 percent; Cito results among the lowest in the citybuurt entry, not separately datedquoted as undated, and never compared with a 2026 figure
De Kolenkit now11,767 residents; 6,280 households; 6,095 dwellings at 419,000 euro; 80 percent rented; income 32,400 euro; density 16,368statistics office, 2026 population, 2025 housing, 2024 incomequoted in full
Helmersbuurt now7,271 residents; 4,570 households; 4,470 dwellings at 646,000 euro; 65 percent rented; income 55,800 euro; density 22,424statistics office, same vintagesquoted in full

What the record does not establish: how many homes were demolished, how many were built, what the population of the buurt was in 2009, or what any of the 2009 indicators would be today. No source read here gives any of those. That absence is not a footnote to the argument on this page, it is the argument, and it is why the page compares nothing across 2009 and 2026. Modern Age Coders has no connection to the stadsdeel, the city or any school named here and claims none.

Signature project

The name stayed the same. Did the neighbourhood?

A label from February 2009, a demolition programme in the years after, and a search result that still hands you the first without the second.

1. Notice what an identifier promises

When two records share a name, every join, every trend line and every search result treats them as the same thing. That is what a name is for and it is usually right. It stops being right when the thing is replaced underneath the name, and nothing in the data announces the moment that happens.

2. Find the replacement event

Here the same entry that carries the label also carries the plan: a large part of the buurt was to be demolished in the following years and replaced by new construction. One of its four buurten is now named Laan van Spartaan. The event is on the record. It is simply not attached to the label in any way a reader or a search engine would notice.

3. Refuse the comparison you cannot support

The tempting move is to put 2009 next to 2026 and announce an improvement or a decline. This page does not, because nothing published says how much was replaced. Unemployment of 11.5 percent from an undated assessment and an average income of 32,400 euro from 2024 are not two points on one line. They are two descriptions of two overlapping but different places.

One name, two things, and the join nobody should make
What is being comparedThe 2009 sideThe 2026 sideWhy the comparison fails
The buildingsthe housing stock as it stood before renewal6,095 dwellings, average value 419,000 euroa large part of the first was demolished and replaced
The residentsnot published anywhere read here11,767 residents in 6,280 householdsno 2009 population to compare with
The conditionunemployment 11.5 percent, early school-leaving 16 percent, undatedaverage income 32,400 euro, 2024different indicators, different years, different housing
The nameDe KolenkitDe Kolenkitidentical, and doing all the work
What is honesta dated label with a named sourcea dated set of figuresreport both, join neither

An identifier is a promise of continuity, and somebody has to decide when it breaks

Names and ids are the glue of every dataset. Join on customer_id and you assume the customer is the same customer. Chart a metric over five years and you assume the metric measured the same thing in year one as in year five. Compare a school against its own record from a decade ago and you assume it is the same school. Most of the time those assumptions hold, which is exactly why nobody checks them, and the failures are quiet rather than loud. A company is acquired and its customer records are migrated with their ids intact, so its history now belongs to a different company. A product keeps its code after a redesign that changed everything about it. A metric definition is revised in one release note and the dashboard title stays the same, so a step change in the chart looks like a business event. A neighbourhood is largely demolished and rebuilt and keeps its name, so a sentence written in February 2009 is still the first thing anybody reads about it in 2026. In every one of those cases the data is correct, the join is technically valid and the conclusion is wrong. The defence is not clever code. It is a decision, made by a person, about when a thing has changed enough that its identifier should not carry its history any further: version the entity, give it a valid-from date, or mint a new id and record what it replaced. Whoever does not make that decision has made it by default, in favour of continuity, on behalf of everybody who will ever query the table.

Reliable pipeline

Five habits for identifiers that outlive what they named

Customer ids through an acquisition, product codes through a redesign, metric names through a definition change, hostnames through a hardware refresh: the id survives and the thing does not. Practised on a neighbourhood that kept its name through a demolition programme.

Keeping a name honest over time
StageRuleWhat it preventsWhat it gives you
Date every claimAttach the date and the source to any statement about an entityA seventeen-year-old sentence read as currentA reader who can see how old the evidence is
Record replacement eventsLog mergers, rebuilds, redefinitions and migrations against the idA discontinuity invisible to every later queryA history somebody can interrogate
Version the entityGive the id a valid-from date, or mint a new one and link itOne identifier silently spanning two thingsJoins that can be made deliberately rather than by accident
Test the joinBefore comparing across time, ask what changed between the endpointsA trend line drawn through a replacementEither a defensible comparison or a good reason not to
Let old labels expireTreat an undated reputation as evidence about its own date onlyA stale judgement travelling foreverA description of the thing as it is now

For younger learners

A favourite toy that has had its wheels, its battery and half its body replaced over the years. Is it the same toy? The children argue about it, and then decide what would have to change before they would agree it was a different one.

For teenagers

Two records in Python sharing a name, each with a valid-from date, and a join that refuses to run when a replacement event falls between them. The stretch: write the version that joins on the name alone, run both against the same question, and describe exactly what the naive version claimed.

For adults

A real identifier at work that survived a migration, an acquisition or a redefinition. Adults reliably find a chart crossing the event, a title that never changed, and nobody who can say which side of it the current numbers belong to.

The district population, area, formation, governance and the Westpoort addition come from the stadsdeel entry, with the population dated 1 January 2022. The February 2009 label, its attribution to NU.nl, the renewal and demolition plan and the figures quoted alongside the assessment come from the entry for the buurt. Every population, household, age, area, density, dwelling, value, tenure and income figure for De Kolenkit and the Helmersbuurt comes from the national statistics office page for that wijk, with 2026 populations, 2025 household and housing figures and 2024 incomes. No figure on this page is carried across the 2009 boundary and none of the arithmetic joins the two sides.

Learning ladder

From a toy with all its parts replaced to a join that refuses to cross a rebuild

Which rung a learner starts on is settled in the free hour by what they can already do, and never by the buurt on the address or anything anybody once wrote about it.

Ages 6 to 10

Is it still the same toy?

Children decide for themselves how much has to change before a name stops fitting.

Scratch Coding for KidsGame Development for Kids
Ages 11 to 13

When was this written?

Learners start attaching a date and a source to every claim before they use it.

Python and AI for KidsWeb Development for Kids
Ages 14 to 18

Ids that carry a valid-from date

Teenagers build records that version themselves and joins that refuse to cross a replacement.

JavaScript for TeensReact Course for Teens
Ages 18 to 67

The chart that crosses the migration

Adults find a real identifier that outlived the thing it named and work out what it has been claiming.

Generative AI CourseAI Tools Mastery Course
Coding and AI

Ask an AI about De Kolenkit and you will get February 2009. Why should a teenager in West learn to check the date?

Because the sentence is real, correctly quoted and seventeen years old, and nothing in it says so.

A model asked about this neighbourhood has a great deal of text to draw on, and the most quotable line in all of it is the one calling it the worst in the Netherlands. That line is genuinely in the record, it has a source and it has a date. What it does not have is any marker telling a reader that a demolition programme followed it, and a summary has no particular reason to go looking. The result is fluent, sourced, technically accurate and describes buildings that in substantial part are no longer standing.

So the learner practises the two questions that catch it: when was this said, and has the thing it was said about been replaced since. Then they build the version that enforces the answer, with a valid-from date on the record and a join that will not silently cross a replacement event. That is a small amount of code protecting a large amount of judgement. A fifteen-year-old in Bos en Lommer who has taken a stale label apart will be the person at thirty who asks which side of the migration the customer history came from. Models will keep returning the most quotable sentence. Asking how old it is stays a person's job.

The case for a child in Amsterdam-West learning to code in 2026 is therefore not about one neighbourhood's reputation. It is that names are how data is joined, that a name can outlive the thing it named without any warning being emitted, and that a buurt which was largely rebuilt and kept its label is the clearest example of the problem a person is likely to walk past on the way to school. The longer argument is in the case for a child writing code in 2026.

Delivery

Live classes in the most crowded part of the city

West is dense, well connected and short of space. The obstacle for a family here is almost never getting somewhere; it is finding an hour and a quiet corner in a flat that has neither to spare.

One hour, at your own table

The class runs at home in Bos en Lommer, off the Kinkerstraat or on the Laan van Spartaan at the same time each week. Nothing has to be travelled to and no room has to be hired.

English throughout, Dutch school words kept

Every lesson is in English. Groep, havo, vwo and profielkeuze stay in Dutch on purpose, because those are the words printed on the paperwork a child brings home and an English substitute only adds a step.

What the first hour settles

The teacher watches the learner work, so the level is shown rather than stated; a named course follows from it and an hour is fixed in the week. Payment is not discussed during it and no card is requested.

Level makes the group, reputation does not

Two learners at the same stage work together whichever buurt they are in and whatever anybody has written about it. Two at different stages do not, for the same reason.

Twice a week, on regio Noord dates

A repeating twice-weekly slot, normally eight lessons in a month. Noord-Holland takes its school holidays with regio Noord, and the weeks a family will be away are put into the plan before it begins.

Three and a half hours, four and a half in winter

Only the Dutch clock moves, so the distance to the teacher changes with the season. After school, early evening and either weekend day work at both settings.

A district where the children are concentrated in particular streets

Under-fifteens are 15 percent of De Kolenkit, which is 1,795 children, and 9.3 percent of the Helmersbuurt, which is 675. Two neighbourhoods a few minutes apart differ by a factor of nearly three in the number of school-age children in them. That is the practical reason a specialist group at one particular level rarely forms locally, whatever the school does, and the reason groups here are assembled on ability from across the world instead, at every age up to sixty-seven.

Fees

The fee, in dollars, the same in every buurt

On the page rather than saved for a telephone call.

First classUSD 0

A full lesson with a real task, a level and a named next course.

Group tuitionUSD 100

Per month, normally eight lessons, five to ten learners placed by ability.

Private tuitionUSD 150

Per month, normally eight lessons, one learner with one teacher.

One international rate exists and it is quoted in dollars, with no euro edition, so an address in the Helmersbuurt is charged exactly what an address in De Kolenkit is. Nothing is paid until the free lesson has settled a course and an hour, and payment is then arranged over WhatsApp. Pausing, switching plan and missing a week are all set out on the pricing page.

Reviews

Six Google reviews, reproduced as the people who left them wrote them

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

Free placement class

Send the level, not the postcode

The first task might be a toy that has had every part replaced, a pair of records that refuse to join across a rebuild, or an identifier at work that survived a migration nobody logged.

+31

FAQ

Amsterdam-West coding class questions

The district, its neighbourhoods, one very old sentence, the teaching and the terms.

Is De Kolenkit really the worst neighbourhood in the Netherlands?

That was reported in February 2009, attributed to NU.nl, and it is seventeen years old. The same entry records that an urban renewal plan followed, under which a large part of the buurt was demolished and replaced by new construction, and one of its four buurten is now called Laan van Spartaan. This page quotes the label with its date and its source precisely so that it can argue against its continued use, and it deliberately does not compare any 2009 figure with any current one.

So has it improved?

This page does not say, because nothing published that was read here allows the question to be answered. No source gives how many homes were demolished, how many were built, or what the population of the buurt was in 2009. Comparing an undated unemployment figure with a 2024 average income across a demolition programme would be joining two different places on the strength of a shared name, which is the exact error the page exists to describe.

What are the current figures for De Kolenkit?

11,767 residents in 2026, in 6,280 households averaging 1.9 people, of which 3,565 hold one person. 6,095 dwellings at an average value of 419,000 euro, 4,876 of them rented, 80 percent. An average income of 32,400 euro per resident in 2024, and a density of 16,368 people to the square kilometre across 72 hectares of land. The four buurten are Kolenkitbuurt-Noord, Kolenkitbuurt-Zuid, Robert Scottbuurt-West and Laan van Spartaan.

Which is the more crowded neighbourhood, De Kolenkit or the Helmersbuurt?

The Helmersbuurt, and not by a little: 22,424 people to the square kilometre against 16,368. The Helmersbuurt also has the higher average dwelling value, 646,000 euro against 419,000, and the higher average income, 55,800 euro against 32,400. Density and prosperity are not running in the same direction here, which is worth knowing before anybody reaches for an explanation involving crowding.

When was Amsterdam-West created?

In 2010, by joining the former stadsdelen Oud-West, Westerpark, De Baarsjes and Bos en Lommer, and since 1 January 2015 it has also held the part of Westpoort east of the A10. It was governed by an elected stadsdeelraad from 2010 until the deelraden were abolished in 2014, and by a bestuurscommissie since. Its entry gives 148,908 residents for 1 January 2022 and 9.45 square kilometres of land.

Is the class taught in Dutch?

No. Every lesson runs in English from beginning to end. Dutch school vocabulary is the one deliberate exception and stays exactly as a Dutch school writes it, so groep, havo, vwo and profielkeuze are spoken rather than translated. There is no Dutch-language version of any course.

What hours work for a family in West?

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 changes. The practical window runs from the end of the school day to mid-evening, with both weekend days open, and a single repeating weekly slot is agreed at the free lesson and then kept.

Is there a Modern Age Coders classroom in Amsterdam-West?

No, and none is claimed in Bos en Lommer, 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 shown on this page is an Indian one and is described as such.

What do Amsterdam-West coding classes cost?

The first lesson is free. After it, group tuition is USD 100 a month for two live lessons a week, normally eight across the month, in a group of five to ten learners. 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.

How many learners are in a group?

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.

Explore Amsterdam and beyond

East into the canals, south past the Vondelpark, and out to the country

East of here is Amsterdam-Centrum, where the district turns out to be less crowded than its own neighbourhoods, and south is Amsterdam-Zuid, where two official registers disagree by 432 on the Zuidas. Across the water lies Amsterdam-Noord. 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 who wants trained models rather than running programs should start at AI and machine learning classes in the Netherlands or the AI and Python Academy.

Free Amsterdam-West classCall +91 91233 66161

Keep exploring Modern Age Coders

Coding classes in nearby places

Free resources

From the blog

Start here