CPL / START / 01
C++ for kids
Games and puzzles in real C++, ages 9 to 12.
Open the syllabusPeru · C++ in English · Ages 9 to adult
In Peru, C++ has a very concrete reason to exist on a teenager's timetable: it is the only language allowed in the final of the national informatics olympiad, the OPI, which picks the team Peru sends to the IOI. It is also the language behind game engines, browsers, trading systems and much of the software that has to be fast. This page covers why C++ is worth learning from Peru, how the OPI works according to UTEC's own rules, what a full C++ course teaches, and a classic olympiad technique you can compile tonight.
Teaching live online since 2020 · 10,000+ students worldwide · every class live, online and in English
Short answer
Modern Age Coders teaches C++ live, online and in English to learners across Peru, with mentors based in India leading every session in real time. Teenagers learn C++ from zero and can move on to olympiad problem solving of the kind the OPI rewards; university students and adults take a full modern C++ course; children of 9 to 12 have their own beginner course. Choose a batch of fifteen to twenty or private lessons, at the hour that suits you in Peru, and begin with a free class.
Pick a starting point
Two start from nothing, one for teenagers and one for adults. The third is for teenagers who can already code and want contest problems.

CPL / 01
Ages 13 to 18, complete beginners, over ten to twelve months. Fundamentals first, then the standard library, data structures, algorithms and small games, at two live classes a week.
Open the syllabus →
CPL / 02
For learners of 18 and over, from zero, over ten to twelve months. Modern C++, memory, the STL, object-oriented and generic design, and performance-minded projects.
Open the syllabus →
CPL / 03
Six months, joinable any month, for 13 to 18 year olds who already write basic programs. Weekly problem sets and virtual contests in the style of school olympiads.
Open the syllabus →Why C++
Because it is fast, because it teaches you how a computer really handles memory, and because in Peru it is the language of the olympiad final. Few languages give a teenager that combination.
The OPI final is C++ only. A secundaria pupil who wants to compete seriously needs C++ sooner or later, and the earlier the language feels natural, the more energy is left for the actual problems.
C++ compiles to fast machine code and lets the programmer decide how memory is used. That is why it runs game engines and other software where every millisecond counts.
Learning C++ means learning what a vector, a reference or a copy really costs. Those ideas make every other language easier to understand, including Python and Java.
C++ is harder than Python at the start, and we are honest about that. For a ten year old or a teenager who has never coded, Python or Scratch can be a gentler first step; our clases de programación para adolescentes page explains the options for secundaria. For a determined teenager, a university student or an adult, starting directly with C++ works well with a patient mentor.
All the teaching is in English, live. That matters more for C++ than for most languages: compiler messages are long and dense, and the standard library is documented in English. Learners practise reading those messages aloud with their mentor until they stop being frightening.
The OPI
The OPI is organised by UTEC and is free for every secundaria pupil in Peru. Its 2025 rules set two phases: an online round in C++ or Python, then an in-person final in C++ alone, from which Peru's teams for the Ibero-American and International Olympiads are chosen.
| Phase 1 | Phase 2 (final) | |
|---|---|---|
| Date | 18 May 2025 | Saturday 31 May 2025 |
| Format | Online | In person at UTEC, Lima |
| Length | 4 to 5 hours | 5 hours |
| Languages allowed | C++ or Python | C++ only |
| Problems | 3 to 6, partial scores possible | 4 to 6, partial scores possible |
| What it leads to | The top 30 with a score above zero reach Phase 2 | Top 10 to 15 to the OII; top 4 to the IOI |
| Ranking | Score first; time penalty only to break ties | Score first; time penalty only to break ties |
Source: Comité Organizador Olimpiada Peruana de Informática, Reglamento OPI 2025 (published on opi.utec.edu.pe), read on 9 November 2026. The same rules say both phases run on the omegaUp judge, problems come from topics in the official IOI syllabus, contestants must be at most 20 years old on 1 July 2025 and enrolled in a Peruvian school in 2025 or have finished in 2024, and generative AI is forbidden. The OII 2025 was set for 14 and 15 June 2025 and the IOI 2025 for 27 July to 3 August 2025 in Sucre, Bolivia.
The rules do not give a reason. Our reading is practical: C++ is fast and predictable, its standard library has the data structures contest problems need, and a final in a single language keeps the judging simple and fair.
The 2026 edition followed a similar calendar: UTEC's OPI page gave 18 March 2026 as the last day to register and 11 April 2026 for the Phase 2 final. The page did not yet list 2027 dates when we checked.
The OPI rules note that Peru has taken part in the IOI since 2022. The IOI's own statistics for Peru record 5 years of participation and 13 contestants, with one bronze medal and one honourable mention so far.
That is a young record with room to grow, and every place on the IOI team runs through the C++ final. We are not connected with UTEC, the OPI or the IOI, and we never promise a qualification or a medal; our job is the language and the reasoning, practised on problems of our own.
Teenagers interested in other computing olympiads, including UTEC's artificial intelligence contest, can read our Spanish page on the curso de IA para adolescentes, and pupils in their final school year our page on programación para 5to de secundaria.
What you learn
Modern C++, in a fixed order. The current ISO standard is C++23, published as ISO/IEC 14882:2024, and a good course teaches the modern style from the start instead of the C-flavoured C++ of old textbooks.
int, long long, double, bool, conditions and loops, with a first warning about values that grow too large for their type.vector, string, map, set, sort and friends, which do most of the work in real programs and in contests.Our full C++ courses for teenagers and for adults each take ten to twelve months, meeting live twice a week. The competitive programming course for teenagers adds six months of contest practice once the basics are secure.
Children of 9 to 12 can start with C++ for Kids, a six-month course built around games and puzzles, and continue into the teenage course later.
Learners install a free compiler on their own computer in the first class, while the mentor watches over a shared screen, and compile every example themselves. The lesson on this page was compiled with clang in C++17 mode; the code works unchanged under later standards.
C++ needs a laptop or desktop. INEI found that 36.4% of Peruvian households had at least one computer in the April to June 2026 quarter, so if yours is shared, tell us and we will choose class hours around it.
A real lesson
A prefix sum is a running total kept in an array, so the sum of any stretch of the original array takes one subtraction instead of a loop. The IOI 2025 syllabus lists prefix sums among the array techniques it treats as fully included. Here is the lesson we use to introduce it, for learners of about 13 and over.
You have eight numbers, perhaps daily scores, and you will be asked many questions of the form "what is the total from day l to day r?". Version 1 answers each question by adding the numbers in the range again.
With eight numbers and three questions, that is fine: 13 additions. Contest problems use hundreds of thousands of numbers and questions, and then the same idea takes far too long.
Build an array p where p[i] is the total of the first i numbers, so p[0] is 0. Then the sum from l to r is p[r + 1] - p[l]: one subtraction, whatever the length of the range.
The array p has one more entry than the data, and getting that wrong is the classic bug. Write p[r] - p[l] by mistake and the one-element range from 3 to 3 comes out as 0.
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<long long> a = {4, 7, 1, 9, 3, 8, 2, 6};
int n = a.size();
// Version 1: add up every range again
long long adds = 0;
auto slow = [&](int l, int r) {
long long s = 0;
for (int i = l; i <= r; i++) { s += a[i]; adds++; }
return s;
};
// Version 2: prefix sums, p[i] = a[0] + ... + a[i-1]
vector<long long> p(n + 1, 0);
for (int i = 0; i < n; i++) p[i + 1] = p[i] + a[i];
auto fast = [&](int l, int r) { return p[r + 1] - p[l]; };
int queries[3][2] = {{0, 7}, {2, 5}, {3, 3}};
for (auto& q : queries)
cout << "sum " << q[0] << ".." << q[1] << ": "
<< slow(q[0], q[1]) << " " << fast(q[0], q[1]) << "\n";
cout << "additions, version 1: " << adds << "\n";
cout << "additions to build p: " << n << "\n";
cout << "wrong formula p[r] - p[l] for 3..3: " << p[3] - p[3] << "\n";
}Compiled with c++ -std=c++17 -O2 -Wall and run, it prints sum 0..7: 40 40, sum 2..5: 21 21, sum 3..3: 9 9, then additions, version 1: 13, additions to build p: 8 and wrong formula p[r] - p[l] for 3..3: 0.
#include <iostream>
using namespace std;
int main() {
long long n = 200000, q = 200000;
cout << "worst case, version 1: " << n * q << " additions\n";
cout << "version 2: " << n + q << " additions and subtractions\n";
}It prints worst case, version 1: 40000000000 additions and version 2: 400000 additions and subtractions.
Forty billion operations against four hundred thousand: that is the difference between a program that runs out of time and one that finishes almost instantly. The sizes of 200,000 numbers and 200,000 questions are our own example, not limits from any OPI problem. Notice too that we store the totals in long long; with large values, a running total can outgrow an int, and C++ will not warn you.
The habit this lesson builds is the one that matters in every contest: work out the cost before you write the loop, and test the smallest case, a range of one element, where off-by-one bugs live. The numbers and exercises are ours, written for our classes; no problem from the OPI or any other olympiad is reproduced here.
p for the eight numbers on paper. Check that p[8] equals the sum of the whole array.p[r] - p[l] and find every query in the program that now gives a wrong answer. Explain why in English.Thinking, not copying
Not in the way you might hope. UTEC's 2025 rules for the OPI ban generative AI outright when solving problems and remove anyone caught using it, so the skill that counts is reasoning on your own, in C++, against the clock.
Before coding, estimate how many operations a solution needs, as in the prefix-sum lesson. That single habit separates contest solutions that pass from those that time out.
C++ compiler messages are long. We teach learners to find the first real error and fix it, instead of pasting the whole message into a chatbot.
Anthropic restricts Claude to adults of 18 and over, and OpenAI asks for a parent's consent before anyone under 18 uses ChatGPT. Teenagers in our classes work without adult AI accounts; adults may use AI to question their code, not to produce it.
The standard is the same for a teenager in Juliaca, Iquitos or Lima: understand every line, test the edge cases yourself, and be able to explain your solution in plain English. That is what an olympiad final rewards, and it is just as valuable at university and at work.
Peru hours
English only, at hours you choose. Peru keeps one clock all year, five hours behind UTC, and India keeps five and a half hours ahead of UTC, so a mentor in India is always ten and a half hours ahead of you. The table converts examples; it is not a class schedule.
| Peru time | India time | Who tends to choose it |
|---|---|---|
| 06:45 | 17:15 | Early starters before school |
| 08:30 | 19:00 | Weekend or holiday practice |
| 15:00 | 01:30, next day | Teenagers after a morning school shift |
| 18:00 | 04:30, next day | Students after classes |
| 20:30 | 07:00, next day | Adults after work |
Source: the IANA time zone database, America/Lima and Asia/Kolkata, neither of which uses daylight saving. Conversions are ours.
Mentors explain slowly, repeat in simpler words when needed and type key terms into the chat. Learners in the capital who want to know more about studying in English can read about English-medium coding classes in Lima.
Stages
These stages are ours. They decide which group a learner joins and show progress clearly from month to month.
| Stage | The learner can | A sign they are there |
|---|---|---|
| 1. Compile | Write, compile and debug small programs | Fixes the first compiler error unaided |
| 2. Library | Use vector, string, map and sort well | Solves list problems without raw arrays |
| 3. Cost | Estimate running time before coding | Explains the prefix-sum lesson |
| 4. Algorithms | Apply recursion, graphs and dynamic programming | Solves timed problems at school-olympiad level |
| 5. Contest | Plan, code and test under a time limit | Completes virtual contests and reviews them |
Stage 3 is the turning point. A teenager who estimates cost before coding is thinking like an olympiad contestant.
Monthly notes describe problems solved and ideas understood.
Always test the smallest case. One element, one query, an empty input.
If your solution is slow, count its operations before you try to speed it up.
More courses
Every course is live and in English, with one mentor throughout, in a group or one to one.
CPL / START / 01
Games and puzzles in real C++, ages 9 to 12.
Open the syllabusCPL / START / 02
Logic, data structures and algorithms from zero.
Open the syllabusCPL / START / 03
The OPI's other first-round language.
Open the syllabusCPL / CONTEST / 01
From first contests to ICPC-level practice.
Open the syllabusCPL / CONTEST / 02
Theory and implementation for university level.
Open the syllabusCPL / CONTEST / 03
The mathematics behind many informatics problems.
Open the syllabusCPL / MORE / 01
Pointers and memory, the ground under C++.
Open the syllabusCPL / MORE / 02
Version control for every serious project.
Open the syllabusCPL / MORE / 03
A second typed language for teenagers.
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.
Morning
A Peruvian morning meets the Indian evening, an easy hour for a lesson.
Late
Evening classes in Peru reach India before dawn; ask and we will arrange it.
1-on-1
A private mentor, useful for an olympiad push or a slower start.
Learners build and run each program themselves.
The same teacher across the whole course.
Careful explanations, terms typed in the chat.
Children, teenagers and adults learn separately.
Original problems between classes, reviewed together.
Fifteen to twenty learners, or a mentor alone with you.
Student work
Learners who keep coding build substantial projects. Here are a few from our older students; there are more on the student labs page.

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 listed in US dollars and paid each month by card. Your bank sets the soles amount when it processes the payment, so statements can differ a little from month to 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
Google reviews from families and learners, quoted without changes.
★★★★★
"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 C++ classes are live online and taught only in English. Mentors speak clearly, match the learner's pace and accent, and show every step on screen. C++ error messages and documentation are in English, so learning in English helps from the very first compile.
It is harder than Python at first, but very learnable with a patient mentor. Teenagers and adults can start directly with C++. Children of 9 to 12 have a gentler C++ for Kids course, and some learners start with Python and switch later.
The OPI 2025 rules allow C++ or Python in the online first phase but only C++ in the in-person final. The rules do not explain why; in our view, C++ is fast and predictable, which suits timed problems with strict limits.
We teach C++ and olympiad-style reasoning with original problems, and our competitive programming course practises under time limits. We are not connected with UTEC or the OPI, never reproduce their problems, and never promise a place or a medal.
Under the 2025 rules, pupils enrolled in a Peruvian school in 2025 or who finished school in 2024, aged at most 20 on 1 July 2025. UTEC says the competition is free for all secundaria pupils. Check UTEC's current rules before each edition.
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 ten and a half hours ahead of Peru all year, so 15:00 in Peru is 01:30 the next day in India.
Modern C++. The current ISO standard is C++23 (ISO/IEC 14882:2024). Beginners learn the modern style, with vectors, strings and the standard library from the start, and our examples compile under C++17 and later.
Learners who pass a course's final assessment receive our own Modern Age Coders certificate of completion. It is not a Peruvian qualification and is not issued by any school, university or olympiad.
Adult learners may ask an AI to review code they wrote. Claude has a minimum age of 18 and ChatGPT requires parental consent below 18, so our teen groups use no adult AI accounts. Generative AI is banned during the OPI, which is why solo reasoning is the skill we train.
A laptop or desktop computer, a stable connection and ideally a headset with a microphone. Compilers are free, and the mentor helps with installation in the first class. Phones are not suitable for writing C++.
Monthly, by card, in US dollars. Your bank converts each payment into soles, so the amount may vary slightly from month to month. The first class is free and needs no card.
Read next
More for C++ learners and olympiad hopefuls.
Contest techniques in detail.
How informatics olympiad preparation works.
Starting C++ from nothing.
What teens build in their first year.
Our Spanish page for teenagers in Peru.
Our pages for Peru, all in one place.
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 · Exams, olympiads and school holidays: IB computer science tutor · 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
In the free class you install a compiler, write and run a short C++ program, and tell the mentor whether you are aiming at the OPI, university or a project. We then suggest a course, a group or one-to-one classes, and an hour that works in Peru.
Want to read more first? How we teach describes a full class, and the course list shows every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live video lessons in English, taught from India. Message us on WhatsApp in English for a quick answer.
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