Where do Dulwich learners find the best AI and programming classes?
Three wards of the London Borough of Southwark carry the Dulwich name: Dulwich Village, which had 10,255 residents at the 2021 census, Dulwich Wood with 10,588 and Dulwich Hill with 9,591. Goose Green ward had 13,612, and East Dulwich, Herne Hill and Nunhead are recorded as places in the borough. We teach AI, programming, Python, vibe coding and maths to Dulwich learners between six and 67 by live video from India, privately or in a class of five to ten who are at one level. Every model a learner builds is judged on data it was not trained on. A first Dulwich lesson is free and closes with our suggestion of a course. The Dulwich project grows one model from 5 features to 10,000 on Census data for 959 Southwark areas and watches its error rise, explode and come back down, a pattern called double descent. From then on a class place is USD 100 a month, and private lessons are USD 150 a month.
The old advice in machine learning was simple: a model that is too small misses the pattern, a model that is too big memorises noise, so pick one in the middle. Then very large neural networks arrived, with far more adjustable numbers than training examples, and worked anyway. The explanation is a curve with two dips. Error falls, rises to a sharp peak at the point where the model is just big enough to fit the training data exactly, the interpolation threshold, and then falls a second time as the model grows past it. This project reproduces the whole curve in a few dozen lines of Python, and checks something the headlines skip: whether the second dip is actually lower than the first.
Facts last verified 30 September 2026. Teaching is online; no Dulwich branch is claimed.
Choose by the age of the Dulwich learner. The first live lesson of each course is free, with no card details taken.

Learning how to think: spotting a rule, then asking whether it holds on a new example.
See the syllabus
Python from the first line, with small models that learn from a table of numbers.
See the syllabus
Machine learning built by hand: training sets, test sets and the double descent curve.
See the syllabus
How large models are built and why their size behaves so strangely.
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 syllabusWard counts from the 2021 census, with the SE21, SE22 and SE24 place names.
| Ward | Residents (2021) |
|---|---|
| Dulwich Village | 10,255 |
| Dulwich Wood | 10,588 |
| Dulwich Hill | 9,591 |
| Goose Green | 13,612 |
| Champion Hill | 9,219 |
These are five separate published counts, and we keep them separate: Dulwich has no single official edge, so there is nothing for a total to describe. Postcodes.io lists Dulwich and Dulwich Village in SE21, East Dulwich in SE22, Herne Hill in SE24 and Nunhead in SE15, each in Southwark. State schools in Southwark teach the national curriculum for England; give us a Dulwich learner's term dates and the holidays stay free of lessons.
For the borough, read coding classes in Southwark; for the capital, the London page. Why thinking is taught ahead of tools is explained on learn to think, not just use AI tools.
Make the model bigger step by step, and measure its error each time on areas it has never seen.
The Census divides Southwark into 959 output areas, 156 of them in the five wards above, where they hold 20,953 households. For every area in the borough we took three facts, its population density, its share of one-person households and its share of flats, and asked a model to predict a fourth: the share of households with no car. The model sees only 100 areas chosen at random and is tested on the other 859. Its size is set by one number, how many random features it builds from the three inputs. Each size is run 30 times with different random choices and the middle result is reported.
| Features | Error on training areas | Error on unseen areas |
|---|---|---|
| 5 | 9.42 | 10.85 |
| 10 | 8.26 | 9.63 |
| 20 | 7.68 | 10.17 |
| 40 | 6.44 | 13.05 |
| 80 | 3.65 | 49.2 |
| 100 | 0.98 | 494.87 |
| 120 | 0.0 | 78.25 |
| 200 | 0.0 | 32.01 |
| 1,000 | 0.0 | 18.27 |
| 10,000 | 0.0 | 15.59 |
Read down the last column. With 10 features the model is at its most accurate, 9.63 points out on areas it has not seen. After that, more features help it on the training areas and hurt it everywhere else, which is ordinary overfitting. At 100 features, exactly one per training area, it can fit every training value almost perfectly, and to do so it has only one possible set of weights, a wild one: the typical error on unseen areas is 494.87 points, for a quantity that can only lie between 0 and 100. Past that threshold something changes. With more features than areas there are many ways to fit the training data exactly, the method picks the gentlest of them, and the error falls again: 78.25, 32.01, 18.27, 15.59.
That second fall is double descent, and it is real. But look at where it ends. At 10,000 features the error is 15.59, which is worse than the 9.63 of the ten-feature model and worse even than the 14.91 you get by ignoring the inputs and guessing the training average every time. On this small, noisy problem the giant model recovers from the peak without ever catching the small one. A tiny penalty on large weights, called ridge, removes the peak altogether, 12.55 at 100 features instead of 494.87, and still the lowest it reaches, at 1,000 features, is 11.95. Bigger can be better; here it was not, and only the test told us.
Draw a wiggly line through every dot on a chart, then see how badly it guesses a new dot.
Split the Southwark table into training and test areas in Python and score a simple model.
Code random features and the minimum-norm fit, plot both descents and add ridge.
The area figures are Office for National Statistics Census 2021 data from Nomis, under the Open Government Licence. They describe output areas of roughly a hundred or more households, never a person or a home. The features, fits and error figures are our own, and a different random split would move them a little.
Size is a setting with consequences, and the consequences have to be measured.
| In the Southwark experiment | In AI more widely |
|---|---|
| Training error hit 0.0 from 120 features | A perfect fit to training data proves little |
| Unseen error peaked at 494.87 | The risky size is "just big enough" |
| It fell again to 15.59 at 10,000 | Very large models can generalise |
| Ten features still won, at 9.63 | A small model may suit a small problem |
| Ridge cut the peak to 12.55 | Gentle constraints tame a model |
Today's language models live far out on the right of this curve, with vastly more adjustable numbers than a classroom could count, and the second descent is part of why they work. The Dulwich experiment gives learners the other half of the story: on a modest problem, a modest model can be the accurate one, and no rule of thumb replaces a held-back test set. We use the same discipline when Dulwich learners vibe code, stating what they want for an AI to write: the code is accepted when it passes a test the learner devised, never because it looks finished. AI agents come later, after Python is written with confidence, mostly from sixteen upward, and Copilot Studio agents are taught one-to-one only. More on that: the AI agents course for UK students and understand the code, don't copy-paste.
Modern Age Coders is independent of the Office for National Statistics, Nomis and postcodes.io, none of which has reviewed this page. Their published open data is all we drew on.
We use a Dulwich learner's school year to propose a stage, then let the trial lesson decide.
Rules, exceptions and checking a guess against a fresh case.
Problem Solving and Computational Thinking for KidsScratch Coding for KidsTyped code and small models that learn from examples.
Python and AI for KidsVibe Coding for KidsTraining, testing and overfitting beside GCSE and A level work.
AI and Machine Learning for TeensPython for TeensHow generative AI is built, and the mathematics underneath it.
Generative AI CourseData Structures & Algorithms CourseDouble descent is the pattern in which a model's error on new data falls, climbs to a peak when the model is just large enough to fit its training data exactly, and then falls a second time as the model grows larger still.
On Census data for 959 Southwark areas, a model trained on 100 of them was 9.63 points out with 10 features, 494.87 with 100, and 15.59 with 10,000: the second descent happened but never beat the first.
Anyone who has plotted that curve stops asking "how big is the model?" and asks instead "how did it do on data it had never seen, and what simpler model was it compared with?"
For a Dulwich teenager, writing the experiment in Python turns a surprising fact about AI into something they have checked, and checking is the skill that lasts. The longer argument is in why teenagers should still learn to code in 2026.
All a Dulwich learner needs is a computer with a camera and a connection steady enough for video.
Nothing is typed for the Dulwich student. The tutor shares the view and asks how the result was tested.
One lesson shows us what is secure, where to start and which exam board applies.
It runs to full length and ends with a course we would choose.
Five to ten learners, drawn from the whole UK, at a single stage.
Holiday weeks are taken out of the calendar.
The tutor moves with British clock changes; you do not.
Why Dulwich lessons are online
Five SE21 or SE22 learners at one level, all free at the same hour, is a rare find. Across the UK by video, such a class forms easily.
A Dulwich family pays the international rate, identical in every country outside India.
A complete first lesson at no cost, plus a course suggestion.
Around eight live group lessons each month.
Around eight live private lessons each month.
Our Dulwich prices are in US dollars, and no pound figure is published. The first payment is due only after the trial has agreed a course and a regular time. For holidays, absences and changing between a class and one-to-one, see 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
Let us know the learner's age or year group and one thing they care about. The Dulwich trial is shaped to fit: a rule-spotting puzzle, a Scratch project, opening lines of Python, or a small model put to a fair test.
Model size, the Southwark experiment, AI, vibe coding and the running of Dulwich lessons.
Census 2021 recorded 10,255 in Dulwich Village, 10,588 in Dulwich Wood and 9,591 in Dulwich Hill, with 13,612 in Goose Green and 9,219 in Champion Hill. Each is a separate published figure.
Yes, on live video for ages 6 to 67 in Dulwich, Dulwich Village, East Dulwich, Herne Hill and Nunhead.
The model size at which it can first fit every training example exactly. In the Dulwich project that is 100 features for 100 training areas, and it is where error on new data peaked.
Learning the quirks of the training examples instead of the pattern behind them, so the model scores well on data it has seen and badly on data it has not.
Learners predict no-car shares for Southwark Census areas with models of 5 to 10,000 random features, chart training and test error, and find both descents of the double descent curve.
No. The 10,000-feature model recovered to 15.59 points of error, but the 10-feature model scored 9.63. On this data the small model won.
Vibe coding at all ages, with the learner testing what the AI writes. Agents follow once Python is confident, usually from sixteen; Copilot Studio agents are one-to-one only.
With computer science and maths, yes, taught so the ideas are understood. We do not promise a grade.
Nothing for the trial; then USD 100 a month in a class or USD 150 a month for private lessons.
No. Share the dates and we leave those weeks out.