What are the best coding classes in Friesland?
Coding classes in Friesland cover 665,208 people in 18 municipalities (Statistics Netherlands, 1 January 2026), on the largest territory of any province and a coast with four inhabited islands. Since 1 January 1997 the province's official name has been Fryslân, its capital is Leeuwarden in Dutch and Ljouwert in Frisian, and six of its 18 municipalities carry Frisian names in the national register. A program that matches the 1995 count to the 2026 count by name finds nothing on either side, which is the reason this page has a join in it. Modern Age Coders teaches one live online class in English across all 18, for ages 6 to 67, with the first lesson free and then USD 100 a month in a group of five to ten or USD 150 with a teacher alone.
Ask the national statistics website for Friesland at its old address and it replies that the address no longer exists, and sends you to Fryslân. The province did not move and nobody left. The key changed. A program that joins last decade's table to this year's on the name reports that a province of 665,208 people vanished, and a child in Sneek who has written that join and watched it happen has learned the difference between a name and an identifier, which most working databases never do.
Facts last verified 7 September 2026. Teaching is online; no Friesland branch is claimed.
A groep 5 child on Terschelling who wants a game, a Drachten teenager who wants a model that predicts, a Leeuwarden student who needs SQL to mean something, and a parent in Heerenveen whose whole job is two spreadsheets that will not line up: four doors, one province.

Scratch, Roblox and Minecraft into real games, in English, for the groep 4 to 8 child anywhere from Schiermonnikoog to Wolvega.
See the syllabus
Python to a first trained model, for the teenager in Drachten or Sneek who wants to know what the machine actually learned.
See the syllabus
SQL, database design and the joins that lose provinces, for the NHL Stenden or Van Hall student who wants the query to be right, not just to run.
See the syllabus
Excel, SQL, Python and BI for the parent whose reports in Leeuwarden or Heerenveen depend on two tables agreeing about what things are called.
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 syllabusStatistics Netherlands counted 665,208 residents on 1 January 2026 in 306,801 households, 97,103 of them under fifteen and 80,237 aged fifteen to twenty-five, on 3,340.11 square kilometres of land inside 5,753.27 of territory, the rest being the Wadden Sea, the IJsselmeer and the lakes. That is 199 to the square kilometre of land, and a rise of 9.1 percent from 609,579 in 1995.
Leeuwarden, Ljouwert in Frisian, holds 130,162 people as a municipality, 19.6 percent of the province, and is the capital. Súdwest-Fryslân, which has no Dutch name at all, is second at 90,521 and includes Sneek and Bolsward. Smallingerland, which is Drachten, is third at 57,188.
348 primary establishments teach 53,420 pupils and 89 secondary establishments 34,500. Frisian is an official language alongside Dutch, taught in the province's primary schools, which is one more reason the vocabulary on this page is handled with care.
On 1 January 1997 the provincial council made Fryslân the official name. The Dutch name survives in daily use, on this page's address and in most of the country. Six of the 18 municipalities appear in the national register under Frisian names: Súdwest-Fryslân, De Fryske Marren, Waadhoeke, Noardeast-Fryslân, Tytsjerksteradiel and Dantumadiel.
Water on three sides and inside
The Wadden Sea to the north with Vlieland, Terschelling, Ameland and Schiermonnikoog in it; the IJsselmeer to the west; the lakes of the south-west where the eleven cities of the Elfstedentocht sit. Land is 58 percent of the province's territory, the lowest share of any province on this site.
Six parts, the municipalities in each, and the register count for every one on 1 January 2026, down to Schiermonnikoog at 972.
Leeuwarden 130,162, the capital, with its own page; Waadhoeke 47,158, which is Franeker and the coast towards Harlingen; Harlingen 16,270, the ferry port for two of the islands.
Súdwest-Fryslân 90,521, the largest municipality by area in the country, holding Sneek, Bolsward, Workum, Hindeloopen and Stavoren; De Fryske Marren 52,248, the lakes and Joure and Lemmer.
Smallingerland 57,188, which is Drachten, the second town of the province and a page to come; Opsterland 30,068; Achtkarspelen 28,254; Tytsjerksteradiel 32,874. The Frisian Woods, where the language is strongest.
Heerenveen 51,955, the skating town, a page to come; Weststellingwerf 26,622 and Ooststellingwerf 25,898, the two Stellingwerven on the Drenthe border where Stellingwerfs is spoken rather than Frisian.
Noardeast-Fryslân 45,935, which is Dokkum and the coast to the Lauwersmeer; Dantumadiel 19,231. The last stretch of mainland before Groningen.
Terschelling 4,834; Ameland 3,816; Vlieland 1,202; Schiermonnikoog 972, the smallest municipality in the country. Four Wadden islands, four ferries, and the only classrooms in the province that a mainland teacher cannot drive to.
Eighteen, and all eighteen are above. Leeuwarden, Drachten and Heerenveen will each get a page that goes close; this one stays at the scale where an island of 972 people and a capital of 130,162 are both in the frame.
The national count, the 18 registers, the province's own entry, and the redirect this page walked into while checking them.
Counted by Statistics Netherlands, provisional figures for 1 January 2026: 665,208 residents in 18 municipalities; 306,801 households; 97,103 under fifteen; 80,237 aged fifteen to twenty-five; 348 primary establishments with 53,420 pupils and 89 secondary with 34,500; land 334,011 hectares, territory 575,327; density 199; 609,579 residents in 1995.
Every municipality with its 1 January 2026 register count, from Leeuwarden at 130,162 to Schiermonnikoog at 972. The 18 figures add to 665,208 exactly, which the class confirms before it writes a single join.
Official name Fryslân since 1 January 1997 by decision of the provincial council; capital Leeuwarden, Ljouwert; Commissaris van de Koning Arno Brok; 18 municipalities since 1 January 2019; 5,748.77 square kilometres in total, 3,335.62 of land and 2,413.15 of water, the largest province by total area; 665,276 residents at the end of 2025; Frisian an official language alongside Dutch; the islands Vlieland, Terschelling, Ameland and Schiermonnikoog; the eleven cities of the Elfstedentocht.
The statistics website's page for the province was requested at its Dutch-named address. The reply was that the address does not exist, or no longer does, and a pointer to the same page under the Frisian name. The ranking page for the municipalities behaved the same way. Both are quoted on this page as the worked example.
The national count gives 665,208 on 1 January 2026 and the province's entry gives 665,276 at the end of 2025; the land area is 3,340.11 square kilometres in one and 3,335.62 in the other. Both are kept, with their dates, and neither is corrected to the other.
Friesland takes its school holidays with regio Noord, alongside Groningen, Drenthe, Overijssel, Flevoland and Noord-Holland, under the Rijksoverheid's division.
There is no tie, stated or implied, between Modern Age Coders and the province, its 18 municipalities, its islands or any school in them. They are named because a page that claims Friesland ought to know both of the province's names.
Two tables, one province, two keys, and a growth figure that comes out as minus one hundred percent until the learner stops matching on the name.
A 1995 table with twelve provinces and their populations, keyed the way a 1996 document would key them: Friesland, 609,579. A 2026 table keyed the way the register keys them now: Fryslân, 665,208. The learner types both, with the accent, exactly as published.
An inner join on the name matches eleven provinces and drops the twelfth from both sides. Growth for the country comes out short by a province. A left join from 1995 keeps Friesland with an empty 2026 column and reports its growth as minus one hundred percent. Neither is a bug in the join; both are the join doing what it was told.
The learner tries the obvious fix, lowercasing and removing accents so that Fryslân becomes fryslan. Now the two spellings of the Frisian name match each other, and Friesland still matches nothing, because the problem was never the circumflex. It was that the same thing had been given a new name, and only a key that does not change with the name can survive that.
| Key used | 1995 row | 2026 row | Match | Growth reported |
|---|---|---|---|---|
| The name as written in 1996: Friesland | 609,579 | not found | none | minus 100 percent, or the province dropped |
| The name as written in 2026: Fryslân | not found | 665,208 | none | undefined, or a province from nowhere |
| The name with accents stripped: fryslan | not found | 665,208 | none | still nothing on the 1995 side |
| A stable code that does not change with the name | 609,579 | 665,208 | one row | plus 9.1 percent, which is the truth |
Names are given to be read by people, and people rename things: provinces, streets, companies, products, countries. An identifier is given so that a machine can find the same thing again after the name has changed, and the difference is invisible until the day the two diverge. The statistics office keys every province and municipality with a code precisely so that its own tables survive its own renamings, and a learner who has watched a province vanish from a join on the name will reach for the code first for the rest of their working life. The table was worked through before this paragraph was written; both population figures and both names are quoted from the sources named above, and every verdict in it is what a join on that key returns and nothing else.
Customer lists, product catalogues, school rolls, country tables where Czechia used to be the Czech Republic: every one of them joins on something, and the something is usually a name. Rehearsed first on the province that renamed itself.
| Stage | Rule | What it prevents | What it gives you |
|---|---|---|---|
| Find the identifier | Ask whether the source publishes a code that outlives the name; use it | Friesland matched to nothing | A join that survives a renaming |
| Count the unmatched | After every join, count rows lost from each side and print them | A province silently dropped | A list of exactly what fell through |
| Keep the accent | Normalise for comparison only; never overwrite the published spelling | Fryslân stored as fryslan forever | Data that still reads as its owner wrote it |
| Date the name | Record when a name was valid from and until | A 1996 name applied to a 2026 row | A table that knows Friesland became Fryslân on 1 January 1997 |
| Map the aliases | One thing, many names: keep a table of them and join through it | Leeuwarden and Ljouwert counted twice | One row per thing, however it is spelt |
Two lists: the register at school, with full names, and the birthday list at home, with nicknames. The child tries to match them and finds that Sytske and Sys are the same person and the lists disagree, then invents a number for each friend and matches on that. Ten minutes, no screen, and the child has designed a primary key.
The two province tables in Python, an inner join and a left join on the name, a count of what each one loses, then the same joins on a code column. The stretch: build an alias table for Leeuwarden and Ljouwert, Sneek and Snits, Friesland and Fryslân, and join through it so that any spelling finds the row.
The same exercise on two tables from work that are supposed to agree and do not: a supplier list that renamed itself, a product that changed its label, a customer who merged with another. Adults usually find the join their reports depend on has been dropping rows for years, and that nobody counted them.
The provincial totals, the 18 municipal counts, the areas, the name-change date and the redirect are published by the offices and the entry named in the sentences that use them. The verdicts in the table are what each join returns on the published names, shown as exactly that; the statistics office's code values themselves are not quoted here, because the page did not read them at source.
The rung is found in the free lesson; the island or the town the laptop sits on is not one of the inputs.
Children match two lists that disagree and invent a number for each person.
Coding for KidsGame Development for KidsLearners match two small tables on a name and count what falls through.
Maths Through CodingPython and AI for KidsTeenagers rebuild the join on a code, then through an alias table, and print the unmatched rows every time.
MySQL for TeensData Science for TeensAdults find the join their reports rest on and count what it has been losing.
MySQL CourseData Analysis CourseBecause the assistant reads names the way a person does, and the databases the child will spend a career inside do not.
Ask a tool whether Friesland and Fryslân are the same province and it will say yes without hesitation, and it will be right. Ask it to write a join between a 1995 table and a 2026 table and it will match on the name, because that is what the columns are called, and it will not count what fell through unless told to. The knowledge that the two names are one thing lives in the assistant; the join it wrote does not have it. The person who notices the missing province is the one who has watched one vanish before.
Which is what the learner is here to become. The tool can produce the join, the alias table and the code column on request; what it will not supply is the habit of asking, of any two tables, what they are keyed on and what happens when the key changes. A thirteen-year-old in Drachten who has lost Friesland once will count the unmatched rows in every merge she runs at twenty-three, and will be the one who asks why the supplier list is short by one. The tools will change their names many times before then. The difference between a name and a key will not.
A Frisian parent weighing coding in 2026, then, is not weighing a career in database administration. What is on the scale is whether the child should own the idea that names are labels and keys are promises, and whether the surest way to own it is to write the join that loses their own province and then the one that keeps it. The class says yes to both. The longer argument is in whether coding is still worth learning in a year when AI writes so much of it.
A family on Ameland is a boat and a bus from anything on the mainland, and a family in Ooststellingwerf is closer to Drenthe than to Leeuwarden. A class that arrives through the router does not care which.
The lesson is at home on Terschelling, in Dokkum or in Wolvega at a fixed weekly hour, and the last boat never comes into it.
The lesson runs in English. Groep, havo and vwo are said as the school says them, and a child who does part of the school day in Frisian is not asked to translate anything.
A real task at the learner's level, a course named from it and a rung to begin on, with no card requested to set it up.
What the learner can do and wants next decides the group; the island, the woods or the capital does not.
Eight lessons a month at one recurring time. Friesland breaks up with regio Noord, and the summer fortnight is agreed before the hour is fixed.
India keeps a single time all year and the Dutch clock jumps in March and October, so a Frisian afternoon sits three and a half hours behind the teacher in summer and four and a half in winter. After school, the early evening and the weekend fall inside both days.
Schiermonnikoog has 972 people and the same class as Leeuwarden
No island in the province could support a coding classroom, and most of the mainland towns do not have one either. A weekly class at home is the same class the capital gets, and for the islands it is the only version that does not begin at the ferry terminal.
Stated in full before any details of yours are asked for.
A complete 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.
The same US dollar figure applies everywhere outside India, with no euro list, and Vlieland pays what Leeuwarden pays. The free lesson fixes the course and the hour; the first payment follows it, over WhatsApp. The pricing page sets out what happens on a pause, a change of plan or a missed lesson.
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 two birthday lists that disagree, a join in Python that loses a province, or two tables from work that have never agreed about what a customer is called.
The province, its names, its towns, the teaching and the terms.
Both, and that is the point of this page. Fryslân has been the official name since 1 January 1997 by decision of the provincial council; Friesland is what most of the country still says and what this page's address uses. The statistics website now answers the Dutch-named address with a notice that it does not exist and a pointer to the Frisian one. A program that joins a 1995 table to a 2026 table on the name loses the province entirely, and building the join that keeps it is the project on this page.
Leeuwarden, Drachten and Heerenveen follow in this series. The other fifteen municipalities, from Súdwest-Fryslân with Sneek and Bolsward down to Schiermonnikoog, are listed above with their populations and served from this page.
It works better than almost anywhere. A child on Ameland or Terschelling sits in one group with one from Leeuwarden at one fixed hour, and the ferry timetable has nothing to do with it. Any stable connection is enough; the islands' are.
The lesson is in English. The school's Dutch terms, groep, havo, vwo and profielkeuze, are used as the school uses them, and a child who is schooled partly in Frisian is not asked to translate. Classes are not offered in Dutch and not in Frisian.
India keeps one clock and the Netherlands keeps two, so a Frisian afternoon is three and a half hours behind the teacher in summer and four and a half in winter. After-school, early-evening and weekend hours suit both ends, and the fixed weekly hour is settled during the free lesson.
Yes, as a municipality: 130,162 people on 1 January 2026, 19.6 percent of the province. Súdwest-Fryslân is second at 90,521 but is a merger of many towns, of which Sneek is the largest. Drachten, in the municipality of Smallingerland, is the second town.
We look for what the learner already does well and set one task at that edge. A child matches two lists of friends with different names. A teenager writes the join that loses Friesland and then the one that keeps it. An adult brings two tables from work that do not agree. By the end there is a named course, a rung, a fixed hour and the dollar figure, and nothing has been paid.
No, and none is claimed in Leeuwarden, in Drachten or anywhere in the Netherlands. Lessons are live online and need a laptop or desktop, working audio, a current browser and a stable connection. The telephone number on this page is Indian and is described as such.
The first lesson is free. Group tuition is USD 100 a month for two live lessons a week, normally eight in the month, in a group of five to ten. Private tuition is USD 150 a month, one learner with one teacher at the same frequency. Course, format, recurring time and availability are confirmed before payment.
Between five and ten, matched on level, pace and goal rather than on age, school or municipality. Private tuition is one learner and one teacher. If no group at the right level is running, the family can take private tuition or wait for the next one to form.
East of the Lauwersmeer is the province of Groningen, with the earthquake scale nobody reads correctly; across the Afsluitdijk is Noord-Holland, and south of the lakes Overijssel. All of them belong to the Netherlands coding hub, and a learner who wants a model that learns rather than a program that runs should open AI and machine learning classes in the Netherlands or the AI and Python Academy. Leeuwarden, Drachten and Heerenveen follow.