ICST / LANG / 01
Python for teens
The default Paper 2 language, from a first program upward.
Open the syllabusPeru · IB Diploma Computer Science, taught in English · SL and HL
IB Computer Science is an unusual subject for a student in Peru: the national curriculum has no computing subject at all, so a Diploma student may meet real programming for the first time at 15 or 16. This page explains what the subject now asks of students, as our course reads the new guide, where computing does and does not sit in Peruvian school, how far Peru's strongest young programmers have gone at the International Olympiad in Informatics, and what a database lesson with us looks like.
Live online classes since 2020 · 10,000+ students worldwide · every class live, online and in English
In short
Modern Age Coders offers IB Computer Science tutoring to Diploma students living in Peru. Every session is live, online and in English, for Standard or Higher Level, either alone with a tutor or with fifteen to twenty other IB students. We cover both themes, the case study, Paper 2 code in Python or Java, databases and the internal assessment, which remains wholly the student's work. The IB school leads and we support it, at any hour a student picks on a Peruvian clock; the first session costs nothing.
Courses for computer science students
The Diploma course itself, a Cambridge course for students meeting computer science earlier, and a databases course that matches one of the subject's heaviest new areas.

ICST / 01
Built around the new guide as our course reads it: both themes, the case study in Paper 1, Paper 2 in Python by default with Java supported, and the internal assessment from plan to documentation. Joinable in any month of the Diploma.
Open the syllabus →
ICST / 02
Six months from the basics for Cambridge students, and a sound first course for a student in 3rd of secundaria who will start the Diploma with no programming behind them.
Open the syllabus →
ICST / 03
SQL from the first query to working applications over five to six months. Databases now sit in the course at both SL and HL, as our IB course page describes, and the lesson below comes from this territory.
Open the syllabus →Who it is for
Any Diploma student taking the subject who wants more time with programming, theory or the internal assessment than a school class allows. In Peru that need is sharper than in many countries, because school before the Diploma usually teaches no computing.
A student who chose computer science out of curiosity and has never written a loop. The first months of the Diploma move quickly; a tutor can make sure variables, conditions, loops and functions are solid before the course builds on them.
A student who has taught themselves Python from videos but loses marks on networks, databases or written explanation. For them the work is precise English, exact definitions and the habit of answering what the question asks.
MINEDU reports 2,502 IB Diplomas earned in Peru in 2025. Students who plan to study computing at a university abroad want their programming, and their ability to talk about it in English, well ahead of the Diploma minimum.
The school stays in charge. Teaching the course, setting deadlines and submitting assessed work are the IB school's job; ours is extra teaching beside it, in English. We are not connected with or endorsed by the IB, COAR, MINEDU, UTEC or any school, and the descriptions of the course on this page are our own.
The new guide
Quite a lot, according to the course page we teach from. The IB website turned our research request away, so what follows is how our own course reads the change; the official text is with the school's IB coordinator.
Our course page describes a new guide launched in February 2025 for first teaching in August 2025, with first assessment in May 2027. It says Paper 3 has been removed at both levels, the options have gone, and the case study now applies to SL and HL students alike, assessed inside Paper 1.
It also says databases and object-oriented programming are now studied at both levels, not only at HL, and that the course is organised in two themes: concepts of computer science, and computational thinking and problem-solving.
Schools choose an exam session, and a Peruvian school on a November calendar may meet the new papers at a different moment from a school sitting in May; ask the coordinator which applies to you. Either way, the content is new for everyone, including teachers.
Paper 2, as our course page describes it, now runs in two versions, one in Python and one in Java, and a school picks one at department level. A tutor must therefore teach in the school's language, not their own favourite. We teach Python by default and support Java.
The internal assessment, a computational solution to a real problem, keeps its weight in the course, and our course page notes a stronger emphasis on documenting the computational thinking behind it. We support planning, technique and documentation habits; the solution, the code and the writing must be the student's own, under the school's academic integrity rules.
Computing at school
Not as a subject. The national curriculum, the CNEB, has no computing or programming area in its plan of studies. Digital skills are a cross-curricular competency, and coding appears mainly in pilots and competitions.
The CNEB lists competency 28, "Se desenvuelve en entornos virtuales generados por las TIC", among the competencies that cut across all areas. It is about using and creating in virtual environments, not about algorithms; no area of the timetable owns it.
Two areas come closest. Ciencia y Tecnología includes a competency about designing and building technological solutions to problems, and Educación para el Trabajo has two periods a week on the regular secundaria day and three on the full day. Neither is a programming course.
In July 2025 MINEDU launched Fábrica de Programadores, a pilot teaching Python to 1,000 public-school pupils in 4th and 5th of secundaria in Lima Norte, with the chance to sit the PCEP exam. It is a promising pilot, not a national subject.
Then there are competitions. UTEC runs the Peruvian computing olympiads, open free of charge to every secondary pupil in Peru: OPI for programming, OPEIA for artificial intelligence and OPECIA for cybersecurity.
At home, the picture matters too. INEI found that 36.4% of Peruvian households had at least one computer in the second quarter of 2026. An IB CS student needs a computer they can program on for hours, so we check that early, and suggest class hours when a shared machine is free. For a fuller picture of what Peruvian school gives in computing and English, see English-medium coding classes in Lima, and for school-leavers, programación para 5to de secundaria.
Peru at the IOI
Peru is a newcomer. The IOI's own statistics show Peru taking part every year since 2022, with one bronze medal and one honourable mention so far. The table lists each year without naming any student.
| Year | Peru contestants | Contestants ranked | Best Peru rank | Award for Peru |
|---|---|---|---|---|
| 2022 | 4 | 349 | 166th | One bronze medal |
| 2023 | 4 | 350 | 221st | None |
| 2024 | 3 | 353 | 258th | One honourable mention |
| 2025 | 4 | 330 | 256th | None |
| 2026 | 4 | 375 | 196th | None |
Source: IOI Statistics, Peru country page and Peru results page (stats.ioinformatics.org), read on 9 November 2026. The site counts 13 different contestants over five years; the 19 team places in the table are our own sum, so several students represented Peru more than once. Ranks are as listed by the site.
Peru's IOI team comes through OPI, run by UTEC. Under the 2025 rules, the first phase was virtual and allowed C++ or Python; the in-person final at UTEC in Lima lasted five hours and allowed only C++. The top four of the final were selected for the IOI.
Entry is free for secondary pupils. The 2025 rules set a maximum age of 20 on 1 July 2025 and required contestants to be at a Peruvian school in 2025 or to have left in 2024. For 2026, UTEC's page gave 18 March 2026 as the registration deadline and 11 April 2026 as the final.
Olympiad problems are much harder than IB Paper 2, but the habits overlap: read the problem exactly, reason about cases before typing, test the edges. An IB student who enjoys Paper 2 algorithms may enjoy OPI too.
The OPI 2025 rules also ban generative AI for solving problems. That matches how we teach: students think through a problem themselves first. We are not connected with UTEC, OPI or the IOI, and we never reproduce their problems.
A real lesson
With databases now in the course at both levels, as our course page describes, this is a lesson we teach early. It uses Python's built-in sqlite3, so it runs anywhere, and it shows why a missing value in a database is not the same as zero.
A school coding club keeps a table of entries: student, grade and score. Two students, Bruno and Diego, registered but have not been marked yet, so their score is NULL. All names and numbers here are invented by us.
Version 1 asks three innocent questions. How many rows, how many scores, and what is the average? Who has no score? And who scored below 50 or at least 50, which surely means everyone?
The first line says 5 rows but only 3 scores, and an average of 58.3: AVG quietly ignored the two NULLs. The second query, score = NULL, returns nothing at all, because in SQL nothing equals an unknown, not even another unknown.
The third query is the real surprise. A condition that covers every possible number still returns only three students. A comparison with NULL is neither true nor false but unknown, and WHERE keeps only rows that are true.
import sqlite3
db = sqlite3.connect(":memory:")
db.execute("CREATE TABLE entries (student TEXT, grade INTEGER, score INTEGER)")
db.executemany("INSERT INTO entries VALUES (?, ?, ?)", [
("Ana", 4, 55), ("Bruno", 5, None), ("Carla", 4, 80),
("Diego", 3, None), ("Elena", 5, 40),
])
print(db.execute("SELECT COUNT(*), COUNT(score), AVG(score) FROM entries").fetchone())
print(db.execute("SELECT student FROM entries WHERE score = NULL").fetchall())
print(db.execute("SELECT student FROM entries WHERE score < 50 OR score >= 50").fetchall())It prints (5, 3, 58.333333333333336), then [], then [('Ana',), ('Carla',), ('Elena',)]. Bruno and Diego vanish from a condition that seems to cover every score.
print(db.execute("SELECT student FROM entries WHERE score IS NULL").fetchall())
print(db.execute(
"SELECT COUNT(*), SUM(CASE WHEN score IS NULL THEN 1 ELSE 0 END), "
"ROUND(AVG(COALESCE(score, 0)), 1) FROM entries").fetchone())It prints [('Bruno',), ('Diego',)] and (5, 2, 35.0): IS NULL finds the missing scores, and treating them as zero drops the average from 58.3 to 35.0.
Which average is right, 58.3 or 35.0? Neither, until someone says what NULL means here. If Bruno and Diego have not been marked yet, 58.3 is the average of the marked work. If they missed the test and the club rule says a missed test scores zero, 35.0 is right. NULL means unknown, not zero, and only a human can decide which it should become.
That last sentence is the IB part. Exam questions about databases reward students who can explain behaviour precisely, and a strong internal assessment states its assumptions about data plainly. A student who writes "missing scores were excluded from the average because they were not yet marked" has shown the computational thinking the course asks for.
COUNT(score) returns for the table. Then explain the difference from COUNT(*) in one English sentence.Two years
A plan that runs from the first loop to the final paper, adjusted to the school's order. This is ours, not the IB's, and every school organises its own calendar.
For the maths that sits beside computer science in many Diploma timetables, see our IB Matemáticas tutor page, and for Spanish-speaking parents, tutor de IB Ciencias de la Computación covers this same tutoring. Each of those pages is about the same live teaching, given in English.
Peru times
At an hour the student picks. Clocks in Peru and India never move, so India is ten and a half hours later than Peru on every date. The table is a converter, not a schedule.
| Peru time | India time | Why a student might choose it |
|---|---|---|
| 06:00 | 16:30 | A focused hour before a full school day |
| 09:30 | 20:00 | A Saturday morning of coding practice |
| 14:30 | 01:00, next day | After a morning school shift |
| 17:00 | 03:30, next day | Late afternoon, before homework |
| 20:30 | 07:00, next day | Evening work on the internal assessment |
| 22:30 | 09:00, next day | Paper practice late in the final year |
Zone data: IANA tz database. Lima has used UTC minus 5 without summer time since 1994; Kolkata, for India, uses UTC plus 5:30. Reasons in the third column are our own examples.
Book on your own clock; the tutor's calendar does the conversion. Neither country changes time, so an hour that works in March still works when deadlines bunch up later in the year. Extra sessions before internal deadlines or exams can be added when needed.
Thinking, not copying
Carefully, within the school's rules and the tools' own age terms. We teach students to reason through a problem and write the code themselves first; AI comes later, if at all, as a reviewer.
Most Diploma students are under 18. Anthropic's consumer terms set 18 as the minimum age for Claude, and OpenAI requires a parent's permission for ChatGPT users under 18. We follow those terms in class.
The internal assessment and any assessed task must be the student's own. The school's IB coordinator explains exactly what is allowed; we never write or edit assessed code or documentation.
Peru's own olympiad, OPI, bans generative AI for solving problems. A student who can solve problems unaided is ready for OPI, for Paper 2 and for university.
The lesson above shows why. An AI tool may confidently report an average of 58.3 without mentioning the two missing rows. A student who has learnt what NULL means asks the question the tool did not.
Milestones
We wrote these milestones ourselves. A predicted grade says little about what to do next; these say exactly that.
| Milestone | When | The student can |
|---|---|---|
| 1. Writes code fluently | First term | Solve short problems in the school's language without notes |
| 2. Traces by hand | First year | Predict a program's output before running it |
| 3. Explains theory exactly | First year | Define and explain each theory topic in precise English |
| 4. Questions the data | First year onwards | Say what missing or odd data does to a result, as in the lesson |
| 5. Owns the IA | Second year, before the internal deadline | Explain every design choice and line of their own solution |
| 6. Finishes papers in time | Final months | Complete a timed paper, then find and fix each lost mark |
Ask your child what their program does before they run it. Milestone 2 is where real understanding shows.
A student who can explain why a result might be wrong is further ahead than one who only gets results.
Every time a query surprises you, write down why. Those notes become exam answers.
Code that runs is not code that is right. Test the empty, the missing and the odd case.
More computing courses
Each is taught live, in English, by a mentor the learner keeps.
ICST / LANG / 01
The default Paper 2 language, from a first program upward.
Open the syllabusICST / LANG / 02
For students whose school chose the Java version of Paper 2.
Open the syllabusICST / LANG / 03
Python certification, the exam MINEDU's pilot also points to.
Open the syllabusICST / PS / 01
Data structures and algorithms from the beginning.
Open the syllabusICST / PS / 02
Contest technique for teens who already code.
Open the syllabusICST / PS / 03
The only language allowed in the OPI 2025 final.
Open the syllabusICST / UP / 01
From Python to working models, with school maths.
Open the syllabusICST / UP / 02
The maths that sits beside computer science.
Open the syllabusICST / UP / 03
Interview-level algorithms for after the Diploma.
Open the syllabusHow tutoring runs
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.
Mornings
Peru mornings fall in the Indian late afternoon and evening, easy hours for our tutors.
Nights
Late sessions in Peru are possible too, useful when deadlines are close.
1-on-1
One student, one tutor, following the school's language and order.
Students write and run code each session.
Python or Java, matching Paper 2 at your school.
Precise definitions, practised in writing.
Technique taught; the solution stays the student's.
A single tutor from the first term to the final paper.
A class of fifteen to twenty, or a student alone with the tutor.
Student work
Students who keep coding with us build real software. Here is some of it; 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
We charge in US dollars to a card. Your bank turns each charge into soles at its own rate on the day, so the soles amount can differ slightly from one month to the next.
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
Unedited words from families and learners who reviewed us on Google.
★★★★★
"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. We teach every class live and online, and only in English. Tutors keep their speech clear, match the student's pace and accent, and put technical terms on the shared screen, so a student whose English is still growing can follow.
Both. Our course page describes two versions of Paper 2 under the new guide, one in Python and one in Java, with the school choosing. We teach in the language your school uses, Python by default.
No. Modern Age Coders is a private online school run from India. The International Baccalaureate, COAR, MINEDU, UTEC and Peruvian schools have no link with us and have not endorsed our classes. Assessed work is set, supervised and submitted by the IB school.
We teach the techniques: choosing a realistic problem, planning, testing and documenting. The solution, the code and the documentation must be the student's own; we never write or edit them. Ask your IB coordinator where the line between teaching and helping sits at your school.
Not as a subject. The national curriculum, the CNEB, treats digital skills as a cross-curricular competency and has no computing area. MINEDU's Fábrica de Programadores pilot taught Python to 1,000 pupils in Lima Norte from July 2025, but most students meet programming first in the Diploma.
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. A 20:30 session in Peru is 07:00 the next morning in India, all year round.
We teach problem solving, algorithms and C++ or Python with problems we write ourselves; we never reproduce OPI problems. OPI is run by UTEC and is free for secondary pupils; we are not connected with it.
No, but start early. Many IB CS students begin with no programming at all. A few weeks of short daily practice in the school's language makes the rest of the course far easier.
A laptop or desktop on which you can install and run Python or Java, a steady connection and ideally a headset. Tablets and phones are not enough for programming.
With a card, in US dollars, month by month. Any conversion into soles is done by your bank at its rate. There is no charge and no card needed for the first class.
Further reading
More for IB computer science students and families in Peru.
Our IB CS teaching in more detail, for any country.
Computer science and maths extended essays.
The Cambridge course before the Diploma.
Everything we teach for learners in Peru.
The age terms of common AI tools.
Reasoning before tools.
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 · Guides to choosing: An English-taught option to Crack The Code · 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
During the free session the tutor asks about your level, your school's Paper 2 language and your deadlines, looks at a short piece of your code or sets a small problem, and tells you honestly what to work on. Then you choose: one to one or a group, and an hour that suits you.
Reading before you book? How we teach describes a live class, and the IB Computer Science course page lists the full syllabus as we teach it.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Sessions happen over live video, led from India and spoken in English throughout. A WhatsApp message in English reaches us fastest.
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