PUN / KIDS / 01
Problem solving for kids
Logic puzzles and plans, light on English, heavy on thinking.
Open the syllabusPuno region · Live online, in English · Ages 6 to adult
In 2025, more of Puno's 4° de primaria pupils reached the satisfactory level in maths than in Peru as a whole, by a wide margin. Fewer Puno homes have an internet service than almost anywhere else. This page puts both facts side by side, says plainly who our English-taught live classes can serve well from Juliaca, Puno and the provinces, and closes with a project on mobile coverage where reading one column makes Puno city look nearly unconnected.
Live classes since 2020 · more than 10,000 students worldwide · slow, clear English on request
Quick answer
Yes. Modern Age Coders teaches live online coding, AI and maths classes in English to learners anywhere in the Puno region, whether in Juliaca, Puno city, Ilave or Azángaro. Children begin with Scratch and problem-solving puzzles, teenagers can take olympiad maths, Python or C++, and university students and adults learn Python and algorithms. A mentor teaches each session over video, one to one or in a group of fifteen to twenty, at hours the family chooses. A home connection that can carry a video call is the one firm requirement.
Puno starting points
Picked for a region with strong primaria maths: a first coding course, a contest maths course, and a certification path in Python. Every age has more options below.

PUN / 01
A first coding course built around games. Children drag and snap blocks, so the early weeks need very little typing and very little English vocabulary.
Open the syllabus →
PUN / 02
For secundaria students who already enjoy maths and want harder problems: careful reading, proof-like reasoning and checking, the habits the ONEM rewards. Our problems, not the organiser's.
Open the syllabus →
PUN / 03
From about 13 to adult. Python fundamentals aimed at the PCEP and PCAP exams, the same entry certificate MINEDU's Lima Norte pilot points its pupils towards.
Open the syllabus →The region in figures
The 2025 census counted 1,232,993 people in the department of Puno, over 66,963.7 square kilometres of altiplano and Amazon slope. The capital is the city of Puno, but the province of San Román, home to Juliaca, is the more populous one.
| Place | Population, 2025 | Kind of unit |
|---|---|---|
| Department of Puno | 1,232,993 | 13 provinces; capital Puno |
| Province of San Román | 314,679 | Province; includes Juliaca |
| Province of Puno | 219,267 | Province; includes Puno city |
| Province of Azángaro | 120,983 | Province |
| Province of Chucuito | 99,813 | Province; includes Juli |
| District of Juliaca | 220,379 | District |
| District of Puno | 125,636 | District |
Population: total counts from the first table (Cuadro N° 1) of INEI's demographic indicators for the 2025 census, reference day 15 September 2025. Area and capital: INEI's 2026 compendium, cuadros 1.7 and 1.8. Districts lie inside provinces and provinces inside the department, so no row is added to another.
INEI has not yet released city figures from the 2025 census. In 2017, it counted 128,637 people in the city of Puno. For Juliaca the published figure is for one centro poblado, the town itself: 217,743 people at 3,877 metres above sea level. A neighbouring centro poblado in the district of San Miguel is listed separately, and we do not add the two together.
INEI's 2017 directory puts the centro poblado of Puno at 3,848 metres, beside Lake Titicaca. Both sit well above Cusco, whose centro poblado the same directory places at 3,439 metres.
The 2025 census counted 100,965 people aged 6 to 11 in the department of Puno, and 112,234 aged 12 to 17. Those bands match the ages of primaria and secundaria.
They are counts of people actually interviewed, so they sit slightly below what a share of the 1,232,993 headline total, which includes INEI's estimate of people missed, would give.
Other towns families mention, such as Ilave, Juli, Azángaro, Ayaviri or Yunguyo, are smaller, and many learners in the region live in rural centros poblados. That matters for this page, because a live online class depends on a connection, and in Puno that is the real question. Universities are a different story: INEI's compendium counts 20,419 undergraduates at the Universidad Nacional del Altiplano and 3,992 at the Universidad Nacional de Juliaca in 2025, a large pool of young adults within reach of an online class.
Maths results
Very well in primaria. On the 2025 national assessment, 42.1% of Puno's 4° de primaria pupils reached the satisfactory level in maths, against 30.0% nationally. In 2° de secundaria the region also finished above the national figure.
| Grade and subject | Puno | Peru |
|---|---|---|
| 4° de primaria, maths | 42.1 | 30.0 |
| 4° de primaria, reading | 34.1 | 32.7 |
| 2° de secundaria, maths | 15.8 | 12.7 |
| 2° de secundaria, reading | 17.4 | 18.5 |
Results published by MINEDU's assessment office (UMC) and reproduced in INEI's 2026 statistical compendium, first volume, as tables 5.53 (4° de primaria) and 5.54 (2° de secundaria).
A child who already reasons well with numbers is ready for more than the timetable offers. Peru's national curriculum, the CNEB, has no computing area at all: digital skills are a transversal competency spread across subjects, and the regular secundaria week holds 4 hours of Matemática and 3 of Inglés but nothing on programming.
The drop between primaria and secundaria is national, not just Puno's: 30.0% of 4° de primaria pupils across Peru were satisfactory in maths in 2025, against 12.7% in 2° de secundaria. Keeping a strong primaria pupil stretched through the first years of secundaria is where outside practice helps most.
Secundaria students enter the national school maths olympiad, the ONEM, through their colegio. In 2026 the school stage took place on Wednesday 8 July 2026, with level 1 for 1° and 2°, level 2 for 3° and 4°, and level 3 for 5° de secundaria, and separate Alfa and Beta categories for public and private schools. The paper had ten questions and two hours.
Winners move up through the UGEL and regional stages; the 2026 national stage was held on 11 October 2026 at Huampaní with 237 finalists. We prepare students with our own problems in the same spirit and have no connection with MINEDU or the ONEM.
MINEDU places a child by age on 31 March, under Law 28044's six years of primaria and five of secundaria, so a strong 10 year old in 5° de primaria can join an olympiad-style group with 11 and 12 year olds if the mentor agrees. Puno's public schools taught 93.9 thousand primaria pupils and 84.7 thousand secundaria students in 2025, with 27,116 teachers across all levels; the region's results come from their classrooms, and our role is only to add practice alongside them. For maths taught as its own subject in English, see our maths teachers in English for Peru.
Getting connected
Fewer than in most of Peru. Only 24.8% of Puno households had an internet connection in 2025, according to INEI's ENAHO survey, compared with 56.8% nationally. Personal use is much higher, at 69.1% of people aged 6 and over, because many people go online by phone or away from home.
| Indicator | Puno | Peru |
|---|---|---|
| Households owning a computer | 21.4 | 33.9 |
| Households with an internet connection | 24.8 | 56.8 |
| Share of people 6 and older who go online | 69.1 | 81.1 |
Compendio Estadístico Perú 2026 (INEI), tables 11.5, 11.6 and 11.13, from ENAHO. In 2015 only 5.7% of Puno households had an internet connection, so 24.8% is a fourfold rise in ten years, even if it is still low.
Families in Juliaca and Puno city with a home connection and a laptop can take any of our courses. University students who already follow online lectures usually have what they need. These are the learners we expect to teach most often from the region.
A household that goes online only by phone can still try the free class. Scratch and maths reasoning can work on a tablet with a steady signal; typed Python or C++ really needs a keyboard and a bigger screen.
We will not promise that a weak mobile signal in a rural centro poblado will carry a one-hour video lesson. The project below shows how much mobile coverage depends on which numbers you read, and families know their own signal better than any table.
If the connection is the problem, one to one at a quiet hour often helps more than a group, because the mentor can pause and repeat without holding others up.
A real Puno project
OSIPTEL, Peru's telecoms regulator, publishes the share of every centro poblado covered by each operator's mobile network. Our students use the Puno rows to learn two habits: when one place has several columns, combine them before you count, and read the data dictionary before you decide which column answers your question.
The dataset is "Porcentaje de cobertura móvil por centro poblado, empresa operadora y tecnología", published by OSIPTEL on the Plataforma Nacional de Datos Abiertos under the Open Data Commons Attribution Licence (ODC-By). Its dictionary says the figures run to the fourth quarter of 2024, were updated in May 2025, and come from the operators themselves.
Each of the 108,115 rows is one centro poblado in Peru; 10,544 are in Puno, 164 urban and 10,380 rural. For each of four operators and each technology there are two percentages: "CG", the share of the place inside the operator's guaranteed coverage footprint, and "CG+CAR", the share inside that footprint plus additional network capacity.
How many places in Puno have at least half their area under 4G? A first attempt picks the first 4G column in the file and counts the places where it reads 50% or more.
That sounds reasonable until you look at a single row. For the centro poblado of Puno itself, the four operators' guaranteed 4G figures are 27%, 25%, 2.52% and 100%.
import csv
def pct(text):
return float(text.strip().rstrip("%"))
places = 0
covered = 0
with open("cobertura-movil-centro-poblado.csv", encoding="latin-1") as data:
reader = csv.DictReader(data, delimiter=";")
reader.fieldnames = [name.strip() for name in reader.fieldnames]
first_4g = [name for name in reader.fieldnames if "_4G_CG" in name][0]
for place in reader:
if place["Departamento"] == "PUNO":
places += 1
if pct(place[first_4g]) >= 50:
covered += 1
print("Column read:", first_4g)
print("Puno places in the file:", places)
print("Half or more under 4G:", covered)It prints Column read: Bitel_4G_CG, Puno places in the file: 10544 and Half or more under 4G: 299.
Version 1 reads one operator and ignores three. By its count, Puno city is not covered, because 27% is under half. But a family in Puno only needs one network that works, so the right question for each place is: what is the highest figure among the four operators? That is a job for max() across the columns of the same row.
import csv
def pct(text):
return float(text.strip().rstrip("%"))
places = {"URBANO": 0, "RURAL": 0}
covered = {"URBANO": 0, "RURAL": 0}
with open("cobertura-movil-centro-poblado.csv", encoding="latin-1") as data:
reader = csv.DictReader(data, delimiter=";")
reader.fieldnames = [name.strip() for name in reader.fieldnames]
all_4g = [name for name in reader.fieldnames if name.endswith("_4G_CG")]
for place in reader:
if place["Departamento"] == "PUNO":
kind = place["Clasificacion"]
top = max(pct(place[name]) for name in all_4g) # the strongest operator
places[kind] += 1
if top >= 50:
covered[kind] += 1
print("Columns read:", all_4g)
for kind in places:
print(kind, "places:", places[kind], "half or more under 4G:", covered[kind])
print("Total covered:", sum(covered.values()), "of", sum(places.values()))It prints Columns read: ['Bitel_4G_CG', 'Claro_4G_CG', 'Entel_4G_CG', 'Integratel_4G_CG'], then URBANO places: 164 half or more under 4G: 65, RURAL places: 10380 half or more under 4G: 392 and Total covered: 457 of 10544.
The count rises from 299 to 457, and Puno city and Juliaca both count as covered. Yet only 65 of 164 urban places reach the line, which is surprising until you reread the dictionary: "CG" is the guaranteed footprint, a cautious figure. The file also gives "CG+CAR", which adds the operators' additional network capacity. Which one to use depends on the question. "Where can I rely on 4G?" suggests CG; "where is there 4G at all?" suggests CG+CAR.
import csv
def pct(text):
return float(text.strip().rstrip("%"))
counts = {}
with open("cobertura-movil-centro-poblado.csv", encoding="latin-1") as data:
reader = csv.DictReader(data, delimiter=";")
reader.fieldnames = [name.strip() for name in reader.fieldnames]
for footprint in ("_4G_CG", "_4G_CG+CAR"):
counts[footprint] = 0
columns = {fp: [n for n in reader.fieldnames if n.endswith(fp)] for fp in counts}
for place in reader:
if place["Departamento"] == "PUNO":
for fp, names in columns.items():
if max(pct(place[n]) for n in names) >= 50:
counts[fp] += 1
for fp, n in counts.items():
print("Footprint", fp, "places half or more covered:", n)It prints Footprint _4G_CG places half or more covered: 457 and Footprint _4G_CG+CAR places half or more covered: 5304.
With the wider footprint the count jumps more than elevenfold, to 5,304 of Puno's 10,544 places. None of the three numbers is wrong. They answer three different questions, and a careful report says which one it is answering. One more detail rewards a close reader: the dictionary lists the fourth operator's columns under a different company name from the one in the file header, a small reminder that the dictionary and the data can drift apart.
| Province | Places in the file | Guaranteed (CG) | With added capacity (CG+CAR) |
|---|---|---|---|
| Puno | 1,519 | 103 | 1,039 |
| Carabaya | 1,440 | 10 | 392 |
| Melgar | 1,285 | 18 | 528 |
| Lampa | 1,282 | 6 | 291 |
| Azángaro | 1,056 | 53 | 744 |
| San Román | 304 | 34 | 272 |
| Yunguyo | 259 | 67 | 253 |
Data: OSIPTEL, Porcentaje de cobertura móvil por centro poblado, empresa operadora y tecnología, Plataforma Nacional de Datos Abiertos, licence ODC-By. Figures are declared by the operators and describe coverage footprints over each centro poblado's area, not measured speeds or the signal inside any home. The counts are ours; six provinces are left out of the table for space.
Taught in English
No. Every class is taught in English, live and online, by mentors based in India. We say so plainly because in Puno it matters more than anywhere on our list.
EF's English Proficiency Index 2025 gives the Puno region a score of 417, in its very low band. Peru's national score is 519 and Lima city's is 555. EF publishes no separate score for Juliaca or Puno city.
That does not rule a Puno learner out. It means the mentor starts slowly, uses very short sentences and the chat box, and checks understanding often. For younger children Scratch helps, because the blocks carry pictures and colours as well as words.
Learners who already study some English at school or at an institute, university students who read English documentation, and children whose parents can sit nearby for the first weeks all settle in faster.
For others, one to one is usually the better start: a single learner can ask for every instruction twice without feeling watched. The free class is where we find out, and we will tell you honestly if we think the English is too big a step for now. For a description in Spanish to share with family, see clases de programación para niños en inglés.
Choosing a course
These are our own course ages and suggestions. The free class confirms the level, the format and how much support with English the learner needs.
| Learner | Ages | First course | Format we suggest at first |
|---|---|---|---|
| Young child, new to English | 6 to 8 | Scratch Coding for Kids | One to one, with a parent nearby |
| Primaria pupil who loves maths | 9 to 12 | Problem solving, then Python and AI for Kids | Group or one to one |
| Secundaria student aiming at the ONEM | 12 to 16 | Maths Olympiad and Competition | Group |
| Secundaria student who wants to code | 13 to 18 | PCEP and PCAP Python, or C++ for Teens | Group |
| University student or adult | 18 and over | Python, then data structures and algorithms | Group, around lectures or work |
Students at the Universidad Nacional del Altiplano or the Universidad Nacional de Juliaca often join for algorithms and interview-style problem solving, which their degree assumes but rarely drills. Our guide to Java for university students in Peru covers that path in Spanish, and every class it describes is open to Puno learners.
Class times
At a time you choose. The whole region uses Peru time, UTC minus five all year, and mentors plan around it.
| Juliaca or Puno | India | India's calendar |
|---|---|---|
| 06:00 | 16:30 | Same date |
| 08:30 | 19:00 | Same date |
| 11:00 | 21:30 | Same date |
| 13:30 | 00:00 | Next date |
| 16:30 | 03:00 | Next date |
| 21:00 | 07:30 | Next date |
Time zones: America/Lima is UTC minus 5 with no daylight saving since 1994; Asia/Kolkata is UTC plus 5:30 with none either (tz database). The gap is 10 hours 30 minutes on every day of the year.
Early-morning slots in Puno meet the Indian evening, and they are also hours when a shared home connection is often least busy. Because neither country changes its clocks, the slot you agree in the January holidays still holds when school restarts in March. For a full picture of grades, ages and every Peru page, see our coding and AI classes in Peru guide.
Milestones
Our own six-step scale, the same for every age. It shows families where a learner stands in terms of what they can make and explain.
| Level | Usually around | Shown by |
|---|---|---|
| 1. Steps | Age 6 to 7 | A sprite that follows a short sequence |
| 2. Repetition | Age 7 to 9 | A game loop that responds to the player |
| 3. Comparison | Age 8 to 11 | A program that picks the largest of several numbers |
| 4. Typed code | Age 9 to 12 | Python functions the learner can explain line by line |
| 5. Wide tables | Age 12 to adult | Combining several columns of one row correctly |
| 6. Definitions | Age 13 to adult | Choosing the column that matches the question, and saying why |
The 4G project covers levels 5 and 6. A learner who reaches them can be trusted not to report a misleading number.
Each month you hear what was finished and what is next.
If one place has four numbers, decide how to combine them before you count.
Read the data dictionary first. It is shorter than the file.
More courses
From primaria to professional life, in three bands. All are taught live in English by a regular mentor, one to one or in a group.
PUN / KIDS / 01
Logic puzzles and plans, light on English, heavy on thinking.
Open the syllabusPUN / KIDS / 02
Typed Python, games and small AI projects for about 9 to 12.
Open the syllabusPUN / KIDS / 03
Contest problems for strong pupils of roughly 10 to 14.
Open the syllabusPUN / TEEN / 01
The language of programming olympiad finals, from zero.
Open the syllabusPUN / TEEN / 02
Contest problems for teens who can already write basic programs.
Open the syllabusPUN / TEEN / 03
Logic, data structures and algorithms for 13 to 18.
Open the syllabusPUN / ADULT / 01
Zero to advanced Python for students and working adults.
Open the syllabusPUN / ADULT / 02
Interview-ready problem solving for 18 and over.
Open the syllabusPUN / ADULT / 03
Calculus and linear algebra, taught with care.
Open the syllabusHow it works
Any day, any time, flexible: choose a batch, or for a very personalised plan choose 1-on-1 at the hour that suits your family.
Before school
Early mornings on the altiplano meet the Indian evening.
Late afternoon
After colegio or lectures, on days you pick.
1-on-1
One learner, one mentor, a slot agreed between you.
The same teacher learns how the student thinks and speaks.
Short sentences, written key words, repeated steps.
The learner types and tests; the mentor guides.
Children, teenagers and adults never mixed.
Families hear what was finished each month.
A group of fifteen to twenty, or one to one.
Student work
Students who persevere end up building tools people use. Some are shown here, and the student labs list 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
You pay monthly, in US dollars, by card. The bank then turns the dollar amount into soles at its own rate, which is why the soles figure can differ a little each month.
Free first class
Free
no card required
Group batch
$100 USD
a month, eight live classes
One to one
$150 USD
a month, eight live classes
What families say
What parents and learners wrote on Google, word for word.
★★★★★
"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
Puno families ask
No. Classes are taught only in English, live and online. Mentors keep sentences short, repeat steps, write key words in the chat and adapt to each learner's pace and accent; Spanish answers are understood and met with the English phrase.
It can be at first. EF scores the Puno region 417, in its very low band, so mentors start slowly and many families begin one to one. Scratch and maths puzzles need little vocabulary, and the free class shows whether the step is manageable.
Not in person. Every class is online, so a learner in Juliaca, Puno, Ilave, Juli or Azángaro joins from home in the same way.
Enough signal to keep a sixty-minute video lesson running, plus a laptop or desktop if possible. In 2025, INEI found an internet connection in 24.8% of Puno households, so please test yours in the free class before choosing a course.
Our youngest learners are six and work with Scratch blocks. Most children are ready to type Python by nine or ten. Secundaria students and adults are welcome with no experience at all.
We train the reasoning the ONEM rewards with problems we write ourselves, never the organiser's papers. Students enter through their colegio; the 2026 school stage was on 8 July. We are not connected with MINEDU or the ONEM.
Any day, any time, flexible: choose a batch, or for a very personalised plan choose 1-on-1 at the hour that suits your family. India is 10 hours 30 minutes ahead of Puno all year, so 08:30 in Juliaca is 19:00 for the mentor.
Yes. Students at the Universidad Nacional del Altiplano, the Universidad Nacional de Juliaca or anywhere else join adult groups, usually for Python, algorithms or university maths, at hours around their lectures.
A card payment each month in US dollars; the soles amount is set by your bank's conversion. The page shows rupees only to people viewing it from India. There is no charge for the first lesson.
Certain courses close with a Modern Age Coders completion certificate describing the work done. Peruvian authorities play no part in it: MINEDU, the UGEL, universities and schools neither issue nor back it.
An original Python lesson on OSIPTEL's open file of mobile coverage by centro poblado. Reading one operator's column counts 299 Puno places with half their area under 4G; taking the strongest of four counts 457; using the wider footprint counts 5,304.
Elsewhere on this site
Further reading for families and learners in the Puno region.
Grades, ages and the full list of Peru pages.
Java for university students in Peru, explained in Spanish.
The block-coding start for younger children.
When and how children move to typed code.
For adults who want to start from scratch.
One live class, explained.
Part of the guide: Every Peru page
More guides: Coding and AI classes in Peru · En español: clases de programación en inglés · Start here: English-medium coding in Lima · By age and stage: AI and coding for professionals · Subjects and courses: AI agents course · Exams, olympiads and school holidays: IB computer science tutor · Guides to choosing: An English-taught option to Crack The Code · Cities: Arequipa: coding for every age · Lima and Callao districts: Programación para niños en Ancón
Start here
The free lesson is a puzzle and a first program. It shows the mentor how the learner thinks, how comfortably they follow English, and whether your connection holds up, so the suggestion that follows is realistic.
To read more beforehand, see how we teach or look through every course.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Our mentors are in India and every lesson is live and in English. For a quick reply, send us a WhatsApp message in English.
A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.
Book a priority demo