BEP / KIDS / 01
Python and AI for kids
Drawings, games and tiny AI experiments in real Python.
Open the syllabusPeru · Choosing a Python course · Ages 13 to adult
Plenty of Python courses look the same from the outside: a syllabus, a certificate, a promise. The difference shows up later, when a learner faces a problem nobody solved for them. This page explains how to tell, before paying, whether a course builds that independence, using the exams Python learners actually sit, a short lesson on testing, and the facts about Python in Peru.
Live online classes since 2020 · 10,000+ students worldwide · Python taught live, online and in English
The short answer
The right Python course is the one whose learners can write code that passes tests they have never seen, not the one with the longest syllabus. Ask any course how it checks that. Modern Age Coders teaches Python live online in English to teenagers from 13 and adults in Peru, where a mentor in India reads and reviews the learner's code in every lesson, optional preparation for the PCEP and PCAP exams, a group of fifteen to twenty or one to one, and flexible hours.
Three starting points
Pick by age and by what you need Python for. None of the three asks for earlier programming.

BEP / 01
Teenagers in secundaria learn to write, test and explain their own programs, from first prints and loops to a data project and an AI build at the end of the year.
Open the syllabus →
BEP / 02
Suited to anyone who works better with a fixed exam ahead. The course works through the Python Institute's published topics with timed practice; the Institute runs the exams.
Open the syllabus →
BEP / 03
For adults who want scripts that read spreadsheets, tidy reports and call AI services, with every script tested before it touches real data.
Open the syllabus →Defining the word
No independent body ranks Python courses in Peru, so "best" can only mean the course that leaves this learner able to work alone. That has visible signs. Here are the five we would look for, with what we do for each.
assert early and asks for edge cases before a task counts as done, as in the lesson further down.If you read Spanish more comfortably, our Spanish guide mejor curso de Python en Perú approaches the same choice by separating must-haves from preferences. The classes behind both pages are identical: live, online and in English.
Certificates that mean something
They are the two lower levels of the OpenEDG Python Institute's certification ladder, and they are the exams Peruvian learners meet most often, because MINEDU's own Python pilot offers PCEP at the end. Here is what each one is, from the Institute's pages.
| PCEP | PCAP | |
|---|---|---|
| Current exam code | PCEP-30-03 | PCAP-31-04 |
| Level | Entry | Associate |
| Questions | 35 | 42 |
| Time allowed | 50 minutes | 65 minutes |
| Pass mark | 70% | 72% |
| Prerequisite | None | None formally; PCEP-level knowledge recommended |
| Question types | Single and multiple select, interactive, scenario | The same, plus code-based questions |
| Valid for | 5 years | 5 years |
| Delivered through | TestNow (OpenEDG Testing Service) | TestNow (OpenEDG Testing Service) |
Source: OpenEDG Python Institute, certification pages for PCEP (pythoninstitute.org/pcep) and PCAP (pythoninstitute.org/pcap), read on 9 November 2026. Exam prices are set by the Institute and are not shown here. We are not part of the Python Institute and do not run or mark its exams.
Our arithmetic: PCEP gives about 1.4 minutes per question and PCAP about 1.5. Neither leaves time to work an answer out by trial and error, so a learner must read code and predict its result quickly. That is a skill a course has to practise on purpose.
PCEP has no prerequisite at all. A teenager who has finished the first months of a solid course can aim at it; PCAP usually comes after a full year.
The Institute's description of the current PCAP lists modules, exceptions, strings, object-oriented programming, files, testing, debugging, collaborative development, and responsible AI-assisted programming.
That last group matters for choosing a course. An exam board now expects learners to test their code and to use AI tools responsibly, which is a strong hint about what a course should already be teaching, exam or no exam.
A real lesson
Because the most common bug is a function that works on the first example someone tried. Here is a lesson we give teenagers and adults in their first months: a function that looks finished, the four tests that break it, and the fix.
A learner writes runner_up(scores) to return the second-highest score in a list, for a class quiz. They sort the list, take the second item from the end, and try it on [12, 19, 15]. It prints 15. Done?
The mentor asks for four tests before accepting it: a normal list, a list where the top score is shared, a list where every score is equal, and a list with one score.
With [17, 17, 9] the function returns 17, the winner's own score, because two learners tied for first. With [20, 20, 20] it returns 20, though there is no runner-up at all. With [14] it crashes with an IndexError.
Three of four tests fail. None of these bugs shows on the first example, and every one of them would appear on real data within a week.
def runner_up(scores):
"""Return the second-highest score."""
ordered = sorted(scores)
return ordered[-2]
print(runner_up([12, 19, 15]))
tests = [([12, 19, 15], 15), ([17, 17, 9], 9), ([20, 20, 20], None), ([14], None)]
for scores, expected in tests:
try:
got = runner_up(scores)
except IndexError:
got = "IndexError"
print(scores, "expected", expected, "got", got, "PASS" if got == expected else "FAIL")It prints 15, then [12, 19, 15] expected 15 got 15 PASS, [17, 17, 9] expected 9 got 17 FAIL, [20, 20, 20] expected None got 20 FAIL and [14] expected None got IndexError FAIL.
def runner_up(scores):
"""Return the second-highest distinct score, or None if there is none."""
distinct = sorted(set(scores), reverse=True)
return distinct[1] if len(distinct) >= 2 else None
assert runner_up([12, 19, 15]) == 15
assert runner_up([17, 17, 9]) == 9
assert runner_up([20, 20, 20]) is None
assert runner_up([14]) is None
assert runner_up([]) is None
print("all 5 tests pass")It prints all 5 tests pass. If any line were wrong, Python would stop at that assert with an AssertionError naming the line.
The fix is one line, but the real lesson is the decision behind it. The learner had to choose what "second-highest" means when scores tie, and what to return when there is no answer. Writing the tests forced that choice into the open; set() removes the duplicate top scores, and returning None handles the short lists honestly instead of crashing.
[-3, -7, -1]. Predict the answer before running it.Python in Peru
Yes, though not through the school timetable. Peru's national curriculum has no computing area, yet Python turns up in MINEDU's own pilot, in the national informatics olympiad, at university and in most data and AI work.
Fábrica de Programadores, announced in July 2025, aims Python lessons at 1,000 state-school teenagers from the last two years of secundaria in Lima Norte, with PCEP open to those who finish, an exam MINEDU describes as having global validity.
Under UTEC's 2025 rules, round one was online and accepted Python as well as C++; the in-person final allowed only C++, and generative AI was banned for solving problems.
Engineering, economics and science students meet Python in data and lab work, and EF EPI 2025 puts the English of Peru's IT workers at 522, above the national 519.
Young adults in Peru are already online: INEI found that 97.3% of people aged 19 to 24 used the internet in the second quarter of 2026, as did 92.5% of those aged 12 to 18. The limit is equipment more than access, since only 36.4% of homes had a computer. A Python course needs a laptop or desktop, even a modest one; tell us if it is shared and we will plan around it.
Engineering students have their own page, Python for engineering students in Peru. For the full sequence of a Python course and the reasons behind it, see our Python course for Peru.
The teaching language
We think so, and it is the only way we teach. Python's keywords, its documentation, both Python Institute exams and almost every answer on the internet are in English, so learning in English removes a translation step that otherwise comes back at every error message.
Mentors speak at a measured pace, write new words in the chat, and keep the code in view so learners can follow by reading. Learners answer however they can: a sentence, a typed word, or by pointing at a line.
Teenagers at Lima's bilingual schools rarely notice the language. Learners with school-level English usually settle in within two or three classes, because the vocabulary of Python is small and repeated constantly.
Explaining code aloud in English is practice for the technical interviews and the remote teams many Peruvian developers later work with.
The Spanish explanation of these same classes is on our page curso de Python en inglés, for families who want the details in Spanish before booking.
Before you pay
Seven questions, any of which a serious course can answer in a sentence. A vague answer is information too.
Progress
Our own stages. Each ends with something a learner can run and explain, and each adds a new kind of test.
| Stage | What the learner writes | How they check it |
|---|---|---|
| 1. Programs | Short scripts with decisions and loops | Predicts the output before running |
| 2. Functions | Small functions with one job each | Writes assert lines for normal and edge cases |
| 3. Data | Lists, dictionaries and files | Tests with empty, single and duplicate inputs |
| 4. Structure | Classes, modules and error handling | Groups tests and runs them on every change |
| 5. Projects | A tool or app of their own design | Explains the tests to the mentor in English |
Stage 2 is usually enough content; the rest is speed. Timed practice on reading code is what closes the gap.
Sit the exam only when practice scores are steady, not on the first good day.
Stage 3 is where Python starts paying back: reading a messy file and summarising it reliably.
Bring a real task from your job; we will turn it into the course project.
Around Python
Younger starters, exam takers and adults going deeper. All live, all in English, with one mentor per group.
BEP / KIDS / 01
Drawings, games and tiny AI experiments in real Python.
Open the syllabusBEP / KIDS / 02
Breaking problems into steps before any code is typed.
Open the syllabusBEP / KIDS / 03
From blocks to typed commands inside a world children know.
Open the syllabusBEP / TEEN / 01
The associate exam's topics, including testing and debugging.
Open the syllabusBEP / TEEN / 02
Olympiad-style problems against the clock.
Open the syllabusBEP / TEEN / 03
Charts, real datasets and a first model.
Open the syllabusBEP / ADULT / 01
The full language, slowly, for complete beginners.
Open the syllabusBEP / ADULT / 02
Web applications with Python behind them.
Open the syllabusBEP / ADULT / 03
The problems technical interviews are built on.
Open the syllabusHow classes run
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.
Early in Lima
Mentors in India are in their evening, a comfortable hour for both.
Late in Lima
India is in its early morning; classes still run, by arrangement.
Private
One learner, one mentor, and a pace reset whenever needed.
Every class ends with code that passes its own checks.
Mistakes are found together, not fixed for you.
New terms typed in the chat as they come up.
Teenagers with teenagers, adults with adults.
Short, and reviewed at the next lesson.
Timed PCEP and PCAP style questions when you want them.
Student work
Some projects from students further along the road. More are in the student labs.

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
Fees are fixed in US dollars and paid monthly by card. Soles appear only on your bank statement, after your bank has done the conversion on the day of payment.
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
Reviews left on Google by parents and learners, copied 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
Questions from Peru
No. Our Python classes are live, online and taught in English only. The mentor slows down, repeats, and types key words, and Python's own keywords are English words, so the language of the class and of the code soon feel like one thing.
We will not name one, ourselves included, because nobody measures all providers the same way. Choose the course whose learners can write and test code alone. Ask who reviews your code, when you write your first test, and what the certificate really is.
It depends on the certificate. PCEP and PCAP are run by the OpenEDG Python Institute and valid for five years. A course's own certificate, like ours, shows you completed that course. Neither is a Peruvian qualification. The skill behind the paper is what employers test.
No. The Python Institute recommends PCEP-level knowledge for PCAP but does not require the PCEP certificate. Many learners take PCEP first because it is shorter: 35 questions in 50 minutes against PCAP's 42 in 65.
Our full Python courses run for most of a year at two live classes a week. A learner can be ready for PCEP well before the end. Speed varies, and one-to-one classes let a determined adult move faster.
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. Lima is ten and a half hours behind India throughout the year, so a 07:00 class in Lima is 17:30 for the mentor.
Yes. Python for 13 to 18 year olds is built for secundaria pupils with no coding experience. Children under 13 start with our Python and AI course for kids or with block-based coding.
Not to write your code. Learners under 18 do not use adult AI accounts with us, since Claude requires users to be 18 and ChatGPT needs a parent's permission for minors. Adults may ask AI to explain an error, then must explain the fix themselves.
Any laptop or desktop that can run a browser and install Python, which is free. A headset helps. A phone is fine for the free first class but not for the course itself.
Monthly by card in US dollars. Your bank converts the charge into soles. The first class is free and booking it needs no card.
Read next
More for Python learners in Peru.
The full course sequence and a lesson on decimals.
Our Spanish guide to the same decision.
How we prepare for the Institute's exams.
Python for university work in Peru.
All our Peru pages in one place.
Our approach to teaching the language.
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 · Regions of Peru: Amazonas region · Cities: Arequipa: coding for every age · Lima and Callao districts: Programación para niños en Ancón
Start here
Bring a computer and nothing else. In the free lesson you write a small function, test it, and see how a mentor reviews code. Then we suggest the course and format that fit, and a class hour that works for you.
You can also read how we teach or open the course list for each Python syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Every lesson is a live video class from India, in English. Messages on WhatsApp are answered 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