DHG / KIDS / 01
AI Literacy for Kids
Where an AI system gets its ideas, how it can end up unfair with nobody meaning it, and the questions a child should put to any answer that sounds certain.
Open the syllabusThe Hague · Live online · Ages 6 to 67
On 17 December 2020, in The Hague, a parliamentary committee handed over a report called Ongekend onrecht, unprecedented injustice, about how the childcare allowance had been run. Four weeks later the whole cabinet offered its resignation. The failures it describes run through laws, courts and a whole administration, far beyond any single program. But one strand is squarely a programmer's concern. The tax authority's benefits department had used applicants' nationality in a risk classification model, and the data protection authority judged that unlawful and discriminatory. Every student who builds a model that sorts people should know this case, and should know the simple check that brings such a problem into view: counting the model's mistakes separately for each group. This page teaches AI and Python from a child's first program upward, with that check built into every model, live online for learners in The Hague.
Teaching live since 2020 · more than 10,000 students · no recorded courses
In short
Modern Age Coders teaches learners in The Hague, aged six to sixty-seven, a live online AI and Python track: typed Python, real data, models whose errors are measured, and agents whose decisions can be traced. Every model on the track is checked group by group, because an overall error rate can look acceptable while one group carries most of the false alarms. The reason is local and documented: the risk model in the childcare-benefits case, which the data protection authority found had used nationality unlawfully. Teaching happens in English, either in a small group of five to ten at one level or with a teacher of your own. There is no charge for the first lesson; afterwards the group rate is USD 100 a month and private tuition USD 150.
Start here
One for a child learning what AI is and is not, one for a teenager ready to work with real data, one for the adult whose work involves data about people. Each opens its own syllabus and timetable.

DHG / 01
What an AI system does with the examples it learns from, and why a program can be unfair without anyone intending it: explained with games and examples a ten-year-old can check.
Open the syllabus →
DHG / 02
Python for real datasets, with the habit of splitting every result by group before trusting it, the check at the centre of this page.
Open the syllabus →
DHG / 03
For the professional in a ministry, agency or organisation whose spreadsheets and AI tools make decisions about people: how to break results down and ask who is affected.
Open the syllabus →The case
This section quotes three primary documents: the government's letter reporting the data protection authority's findings, the parliamentary committee's own announcement, and the prime minister's statement. It does not try to retell the whole affair, which is far larger than any model.
On 17 July 2020 the State Secretary for Finance, A.C. Van Huffelen, sent parliament the government's response to a report by the Autoriteit Persoonsgegevens on how the benefits department, Toeslagen, had processed the nationality of childcare-allowance applicants. The letter, Kamerstuk 31066, nr. 683, sets out three ways nationality was processed. All three were judged onrechtmatig, unlawful, and two of them discriminerend, discriminatory.
One of the three was a risk classification model that selected applications for checking. The letter is plain about its effect: an application from non-Dutch nationals, in combination with other indicators, therefore had a greater chance of being selected for a check. Since October 2018, it adds, nationality has no longer been used in the model, and in June 2019 the department decided to stop running queries based on nationality.
On 17 December 2020 the parliamentary committee on the childcare allowance, chaired by Chris van Dam, handed its final report to the Speaker of the House, Khadija Arib. It found that fundamental principles of the rule of law had been violated in the approach to fraud; that the ministry had run the allowance as a mass process; that parliament and cabinet had passed legislation that was rock-hard; and that the administrative courts had for years helped keep it going. A mistake in an application, it wrote, was quickly seen as fraud, so that parents were wrongly branded.
On 15 January 2021 the prime minister told the King that he had offered the resignation of the whole cabinet. If the whole system has failed, he said, responsibility can only be carried together, and he spoke of thousands of parents to whom great injustice had been done.
| Date | Document | What it records |
|---|---|---|
| 17 July 2020 | Letter of the State Secretary for Finance (Kamerstuk 31066, nr. 683) | Three processings of nationality judged unlawful, two discriminatory; nationality out of the risk model since October 2018 |
| June 2019 | Same letter | Toeslagen decided to stop queries based on nationality |
| 17 December 2020 | Tweede Kamer announcement of the final report | Ongekend onrecht handed over; principles of the rule of law violated |
| 15 January 2021 | Statement of the prime minister | Resignation of the whole cabinet offered to the King |
Sources: Kamerstuk 31066, nr. 683, letter of 17 July 2020; Tweede Kamer, Eindverslag onderzoek kinderopvangtoeslag overhandigd; Rijksoverheid, statement of the prime minister, 15 January 2021. All read 15 September 2026; the documents are in Dutch and are translated here as closely as possible. We have no connection with any of the bodies named.
The test
No single test makes a model fair, and the documents above describe failures no test could have caught. But one habit catches the specific problem of a model that treats groups differently, and it is simple enough to teach a teenager.
Nationality in a risk model is the obvious case, because the column names the group outright. The harder lesson is that removing such a column does not remove what the rest of the data reveals. Other columns can carry much of the same information, so a model can go on sorting people by group after the group itself has been deleted. The only way to know is to measure.
A model that flags applications for checking makes two kinds of mistake: it flags people who did nothing wrong, and it misses some who did. The first kind, false alarms, is the one that falls on innocent people. Counted over everyone, the false-alarm rate can look small. Counted separately for each group, it can show that one group carries several times its share.
A flag is the start of a process, and the harm depends on what follows it: a friendly question, or a demand to repay. The committee's phrase, that a mistake was quickly seen as fraud, describes what happens when that next step is built without room for error. Designing it is part of building the model.
| Group | Applications | Of which correct | Correct but flagged | False-alarm rate |
|---|---|---|---|---|
| Group A | 800 | 780 | 25 | 3.2 percent |
| Group B | 200 | 195 | 26 | 13.3 percent |
| Everyone | 1,000 | 975 | 51 | 5.2 percent |
Read the last row alone and the model looks tolerable: about one correct application in twenty is wrongly flagged. Split the same row by group and the picture changes. A correct applicant in group B is wrongly flagged about four times as often as one in group A, 13.3 percent against 3.2, and nothing in the overall figure hints at it.
The numbers are invented for teaching, and they describe no real system. The arithmetic is the point: 25 of 780, 26 of 195, and 51 of 975.
The check takes a few lines of Python once the groups are known, and learners on our track write it for every model that sorts people: selection rates and false-alarm rates for each group, side by side, before anyone relies on the model.
What the check cannot do is decide what is acceptable, or whether a model should be used at all. Those are human decisions, and in the case above they were made, and then examined, by parliament, the courts and the government.
The worked example is invented and represents no real model or dataset. The lessons drawn are ours, not those of any body named in the section above.
At every age
The group-by-group check sounds advanced, but its simplest form fits a child's first program, and its full form fits a professional's daily work in a city of ministries and international organisations.
A child who writes a quiz program can already ask whether it is fair: does it give everyone the same questions, and does it mark every answer the same way? That question, asked early and often, is the root of everything this page describes.
A teenager who trains a first model on real data learns to split the results: how well does it do for this group, and for that one? The split takes minutes and changes how the teenager reads every accuracy figure afterwards.
Adults in The Hague often work where data about people is processed every day, in ministries, agencies, international organisations and firms that serve them. For them the check is practical: before a spreadsheet rule or an AI tool is used to sort people, look at who it flags and how often it is wrong for each group.
For the city's schools and districts, see coding classes in The Hague and Den Haag Centrum; for the province, Zuid-Holland. The national academy page covers the country.
The five rungs
The rungs are climbed in order. Data comes before models because unfairness usually starts in the data, and measurement comes before agents because an agent that acts on people must first be shown to treat them evenly.
| Rung | Usually | The fairness question learned |
|---|---|---|
| 1. Python by hand | Groep 6 to 8, or any adult beginner | Does my program treat every input by the same rule? |
| 2. Data | Brugklas to the third year | Who is in this data, who is missing, and what does each column reveal? |
| 3. Models | Havo 4 to vwo 6, students, adults | How often is the model wrong for each group, not just overall? |
| 4. Agents | Upper school and beyond | Which decisions about people may the program not take alone? |
| 5. Publishing | At every stage | Are the group results written down where others can check them? |
Most unfair models are built from data that was already uneven: some groups checked more often in the past, some recorded differently, some barely present. A learner who has studied a dataset before modelling it sees those patterns before the model copies them.
Our general order of teaching, subject by subject, is on the coding roadmap.
Groep 6 to 8 is the natural moment for rung 1, with a pause in the weeks of the doorstroomtoets, and the year a pupil chooses a profile is a sensible time to sample rung 2. Pupils at the city's international schools join the same rungs at the same ages.
Adults usually start at rung 2, with their own work data in mind, often one to one.
The catalogue
Arranged by stage of life, from primary school to working adult. Every course has its own page with timetable and fee, and where a learner begins is settled in the free lesson, not by this list.
DHG / KIDS / 01
Where an AI system gets its ideas, how it can end up unfair with nobody meaning it, and the questions a child should put to any answer that sounds certain.
Open the syllabusDHG / KIDS / 02
Real Python for nine- to twelve-year-olds, from turtle pictures and simple games to a program that learns a rule and is then tried on cases it has never seen.
Open the syllabusDHG / KIDS / 03
Block-based games for the youngest learners, including quizzes that must mark every player the same way.
Open the syllabusDHG / TEEN / 01
Reading, cleaning and plotting real data, and breaking every result down by group before drawing a conclusion.
Open the syllabusDHG / TEEN / 02
Statistics, classical models and neural networks, each model tested for how its errors fall across groups.
Open the syllabusDHG / TEEN / 03
The two-year Python foundation, for the teenager who wants to understand the code behind the headlines.
Open the syllabusDHG / TEEN / 04
Using AI tools for study and projects, with attention to privacy, bias and when not to trust the output.
Open the syllabusDHG / PRO / 01
For professionals without a programming background: spreadsheet models, dashboards and AI assistants, each result split by the groups of people it touches.
Open the syllabusDHG / PRO / 02
Excel, SQL, Python and business intelligence, for analysts whose reports shape decisions about people and budgets.
Open the syllabusDHG / PRO / 03
The full machine learning route for adults, with evaluation by group treated as part of every model, not an extra.
Open the syllabusDHG / PRO / 04
The workings of large language models, and how to build assistants on them that know their limits, including the decisions about people that must stay with a person.
Open the syllabusHow the classes run
Dutch clocks change twice a year and Indian clocks never do. In winter the teacher's day runs four and a half hours ahead of The Hague, in summer three and a half. That makes late afternoons and weekends the easy slots, weekday evenings a matter of arrangement, and the fixed weekly time something agreed at the free lesson, never promised here.
Straight after school
Late afternoon in The Hague, early evening or later for the teacher. The usual choice for primary pupils and the brugklas.
After dinner
Arranged teacher by teacher. It suits upper-school pupils, students and anyone coming home from a ministry or an office.
Saturday or Sunday
Mornings or afternoons in The Hague. The slot most working adults and busy households end up choosing.
A real task, a teacher watching how the learner approaches it, and at the end a clear view of where to start. No questionnaire does that as well.
Classmates come from several countries and share one level, so nobody in The Hague is held back by a local average or left behind by it.
For diplomats, civil servants and others whose diaries move, for a narrowly defined goal, and for the Copilot Studio courses, which are never taught in groups.
Teacher and learner share screens, so a misunderstanding is corrected in the minute it appears.
Teaching is in English; groep, brugklas, havo and vwo stay in Dutch because that is how parents in the city speak of them.
Code is committed to the learner's own GitHub repository after each lesson, and each model sits next to its group-by-group results.
Student work
Four things students built and published at public addresses. Try them, test them, find their limits; the student labs page has more.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
Monthly, in US dollars, at the rates charged in every country outside India. The Hague pays what every other city pays, with no enrolment fee and no contract for the year. The Copilot Studio courses are taught privately and so carry the private rate.
Free first class
USD 0
no card required
Group batch
USD 100
a month, billed in US dollars
One to one
USD 150
a month, billed in US dollars
What families say
Shown as their authors posted them on Google. We do not write, edit or pay for any review.
★★★★★
"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
Questions from The Hague
Because it is the best-documented Dutch example of a risk model treating groups differently. The government's own letter of 17 July 2020 reports that nationality was used in a risk classification model, and that this was judged unlawful and discriminatory. We use it to teach one narrow, practical lesson: count a model's mistakes separately for each group.
No. The parliamentary report Ongekend onrecht describes failures across the administration, the law and the courts. The risk model is one strand, and the only one this page teaches from.
The share of correct cases that a model wrongly flags. If 26 of 195 correct applications in a group are flagged, that group's false-alarm rate is 13.3 percent. Comparing that rate across groups is the check this page teaches.
Not for the simple version. A child who writes a quiz can ask whether it marks every player the same way. The group-by-group check on real data usually comes around havo 4 to vwo 6.
No. The ladder follows what a learner can do, not a national curriculum, and all lessons are in English.
Usually with data analytics or data analysis, depending on whether you code, and often one to one. Breaking results down by group is part of both.
No. We quote public documents from parliament and the government. We have no relationship with any ministry, authority, committee or school in The Hague.
A place in a group is USD 100 a month; private lessons are USD 150 a month. Both are billed in dollars, neither has a joining fee or a yearly commitment, and the first lesson is free.
They teach live from India, which is ahead of The Hague by three and a half hours in the Dutch summer and four and a half in the winter; late afternoons and weekends therefore suit best.
We call you back at a Dutch hour to fix the free lesson. No payment is taken and no seat is reserved before the family has watched that lesson and made up its mind.
Elsewhere on this site
The AI track is one part of what we publish for the city. The rest is here.
General coding for the city, stadsdeel by stadsdeel, with the local schools.
The province around the city, municipality by municipality.
The academy for the whole country: informatica in Dutch schools and the national AI build-out.
Seventy-three city algorithms, read entry by entry.
Soccer robots, drones and the gap between simulation and reality.
What the first year of a university AI degree asks of a pupil.
Start here
Give us a phone number and someone from our team calls back at a Dutch hour. That first session is taught properly, and it ends with the one decision that matters most here: the rung the learner starts on.
Would you rather read first? Start with the course list, then how we teach, then the reasoning behind these pages at Learn to Build AI.
WhatsApp us · +91 91233 66161 · contact@modernagecoders.com
A WhatsApp message costs nothing from a Dutch phone and gets the fastest reply. The number is an Indian one, and we hold no office, address or premises in The Hague or elsewhere in the Netherlands.