PES / BASE / 01
C programming
Pointers, memory and structs, often the first language in an engineering plan.
Open the syllabusPeru · Python for engineers · University and pre-university
Many engineering students in Peru meet programming early in their degree, often in a course that moves faster than anyone expected. Python is the language engineers reach for when the maths stops fitting on paper: solving equations, fitting data, simulating a system. This page explains which Python and which libraries to install so they last your whole degree, what engineers actually do with Python, how it fits a Peruvian engineering plan, and a root-finding lesson that shows why numerical methods need judgement, not only code.
Teaching live online since 2020 · 10,000+ students worldwide · every class live, online and in English
The direct answer
Modern Age Coders teaches Python to engineering and science students in Peru in live online classes in English. A mentor based in India teaches each class in real time, from the basics to numerical methods, data analysis and machine learning, in a group of fifteen to twenty or one to one. Students choose hours around their university timetable in Peru time. Classes run alongside your degree: we explain and practise, and your university sets and marks every assessment.
Where engineers start
One for Python itself, one for the mathematics engineering leans on, and one for students heading towards data and AI.

PES / 01
For students of 18 and over, starting from nothing, over nine to eleven months. Functions, data structures, files, objects and testing, with engineering-style problems from the first month.
Open the syllabus →
PES / 02
Calculus, linear algebra and related tracks, each ten to twelve months and joinable any month. Students are placed by the course and semester they are taking now.
Open the syllabus →
PES / 03
Twelve to fourteen months from Python to deep learning, with the school maths refreshed first. For students who want models they can explain, not only run.
Open the syllabus →Why Python
Because engineering is full of problems that have no tidy formula. Python, with a few free scientific libraries, lets a student solve an equation numerically, fit a curve to lab data, or simulate a system step by step, and then check the result.
Roots of equations, systems of linear equations, integrals and differential equations that cannot be done by hand. The lesson further down this page is one of the first methods every engineer meets.
Laboratory readings, sensor logs and survey data, cleaned, plotted and summarised. A student who can turn a messy spreadsheet into a clear graph saves hours in every lab report.
Simulations of circuits, structures, flows or populations, where the student changes one parameter and watches the system respond. This is where programming stops being a separate subject and becomes part of engineering.
Numerical work also teaches a hard lesson that pure algebra hides: a method can run without error and still give a poor answer. The scientific libraries are honest about this. SciPy's own documentation describes its bisection routine as "slow but sure", which is a fair summary of a trade-off every engineer faces, and the subject of our lesson.
For students who prefer reading in Spanish, our page on Python para estudiantes de ingeniería covers the same classes from another angle, and university students in any faculty can see cursos de programación para universitarios. Every class itself is taught in English.
What to install
Install a recent Python and recent versions of NumPy, SciPy, pandas and Matplotlib, because the scientific Python projects agree to drop old versions on a schedule. Their shared policy, SPEC 0, recommends dropping support for a Python version three years after it first appeared, and for a core library version after two.
| Version | First released | SPEC 0 recommends dropping support in |
|---|---|---|
| Python 3.12 | October 2023 | Fourth quarter of 2026 |
| NumPy 2.2.0 | December 2024 | Fourth quarter of 2026 |
| Matplotlib 3.10.0 | December 2024 | Fourth quarter of 2026 |
| SciPy 1.15.0 | January 2025 | First quarter of 2027 |
| NumPy 2.3.0, pandas 2.3.0, SciPy 1.16.0 | June 2025 | Second quarter of 2027 |
| Python 3.13 | October 2024 | Fourth quarter of 2027 |
| Python 3.14 | October 2025 | Fourth quarter of 2028 |
| Python 3.15 | October 2026 | Fourth quarter of 2029 |
Source: Scientific Python, SPEC 0 "Minimum Supported Dependencies", policy text and auto-generated Drop Schedule, read on 9 November 2026. SPEC 0 builds on NumPy's earlier NEP 29. It is a recommendation that projects endorse; a given library may keep or drop support at a slightly different time.
A degree like PUCP's lasts five years. If you install Python 3.12 today, the scientific libraries are already being encouraged to leave it behind; Python 3.15, released on 9 October 2026, sits inside the SPEC 0 window until late 2029.
This is not a reason to upgrade in the middle of a lab assignment. It is a reason to start each academic year by checking your versions, and to know how to set up a clean environment when a library refuses to install.
Students install a current Python, create a virtual environment for each project, and record the exact versions they used, so a result can be reproduced next semester. These habits save more lab time than any clever trick.
If your university lab runs an older setup, we work in that version and show you what to watch for. The method and the reasoning carry across; only the occasional function name changes.
Your degree
Alongside it, from the first general-science semesters to the final project. Peruvian engineering degrees put heavy mathematics at the front, and Python is most useful when it is learnt together with that mathematics, not after it.
Universities publish their own plans. PUCP's plan for Ingeniería Informática, for example, runs for ten semesters (five years): four semesters in Estudios Generales Ciencias, the general science cycle, and six in the faculty itself.
Those first two years are mostly mathematics, physics and chemistry. That is where numerical Python pays off soonest: checking a calculus result, plotting a function to see why a limit behaves strangely, or solving a physics equation that has no neat answer.
Admission is decided by each university, in Spanish. UNI's ordinary admission exam, for instance, is three papers on three days, and two of the three are mathematics and physics with chemistry, according to UNI's own admission page for 2026-2.
We do not prepare for that exam or promise any admission result. What we offer a student in 5th of secundaria is mathematical reasoning and Python in English, which makes the first university semesters less of a shock.
Our classes never replace the university's own courses. Your professors set the syllabus, the assignments and the marks. A mentor's job is to make sure you understand why a method works, so that the assignment becomes practice rather than a puzzle you copy from a classmate. We are not connected with PUCP, UNI or any other university.
A practical note on equipment: INEI found that 36.4% of Peruvian households had at least one computer in the April to June 2026 quarter. Numerical work is painful on a phone. If you rely on university labs, tell us your lab hours and we will plan classes for times when you have a laptop or desktop in front of you.
A real lesson
Two ways, and an engineer should know when to use each. This is a lesson we teach to university students in their first months of numerical Python, on the cubic x³ minus 2x minus 5, which has one real root between 2 and 3.
Start with an interval where the function changes sign, here from 2 to 3. Cut it in half, keep the half where the sign still changes, and repeat until the interval is narrower than the accuracy you need.
Because each step halves the interval, you can predict the number of steps before running anything: to shrink a width of 1 below 10-10 takes the logarithm base 2 of 1010, about 33.2, so 34 steps. Version 1 confirms it.
Newton's method uses the slope of the curve to jump towards the root. From a good starting point the number of correct digits roughly doubles each step, so it needs far fewer steps than bisection.
But it divides by the derivative, 3x² minus 2, which is zero near x = 0.8165. Start close to that flat point and the first jump sends you a long way off. Version 2 shows both cases.
def f(x):
return x**3 - 2*x - 5
def bisect(a, b, tol=1e-10):
steps = 0
while b - a > tol:
m = (a + b) / 2
if f(a) * f(m) <= 0:
b = m
else:
a = m
steps += 1
return (a + b) / 2, steps
root, steps = bisect(2, 3)
print(f"bisection: {root:.10f} after {steps} steps")It prints bisection: 2.0945514816 after 34 steps.
import math
def df(x):
return 3*x**2 - 2
def newton(x, tol=1e-10, limit=50):
for step in range(1, limit + 1):
new = x - f(x) / df(x)
if abs(new - x) < tol:
return new, step
x = new
return x, None
print("predicted bisection steps:", math.ceil(math.log2(1 / 1e-10)))
for start in (2, 0.82):
first = start - f(start) / df(start)
r, n = newton(start)
print(f"newton from {start}: first jump to {first:.2f}, {r:.10f} after {n} steps")Run after Version 1, it prints predicted bisection steps: 34, then newton from 2: first jump to 2.10, 2.0945514815 after 5 steps, then newton from 0.82: first jump to 354.81, 2.0945514815 after 19 steps.
The numbers tell the story. Bisection took exactly the 34 steps we predicted on paper. Newton, from a sensible start of 2, needed only 5. From 0.82, almost on the flat point, its first jump landed at 354.81, and it took 19 steps to crawl back. On this cubic it recovered; on other functions the same jump can land somewhere the method never returns from, or bounce between two points for ever.
That is why engineering software often combines the two: bracket the root safely, then let a fast method finish the job. Before any of that, a student learns to plot the function and look at it, which is the cheapest check there is. The exercise is ours, written for our classes; the cubic is a standard textbook example, chosen because its one real root is easy to bracket.
tol and check.bisect(3, 4), where the function does not change sign. Explain in English what the code returns and why it is meaningless.bisect that raises an error when f(a) and f(b) have the same sign, as SciPy's documentation requires.Thinking, not copying
You can ask AI to write code, and it may even run. Whether the answer is right, and whether you could defend it in front of your professor, depends on the thinking you did yourself.
Like the 34 bisection steps above: before running a method, estimate what it should do. When the computer disagrees, you have found either a bug or a misunderstanding, and both are worth finding.
A chatbot will happily run Newton from a bad start. Knowing when a method fails is engineering judgement, and no tool supplies it for you.
Universities set their own rules on AI in coursework, and you should follow them. Claude is for users aged 18 and over; adult students may use such tools to question their work, never to hand in code they cannot explain.
We hold every student to the same standard, whether they study in Lima, Arequipa or Huancayo: understand first, then automate. A student who can explain why bisection is slow and why Newton can fail will use any tool, AI included, far better than one who only knows which button to press.
Class hours
Whenever your timetable leaves a gap. Peru is on UTC minus 5 all year with no daylight saving, and India is on UTC plus 5:30, so India is ten and a half hours ahead every day of the year. The rows convert a few hours and do not promise a timetable.
| Peru time | India time | When a student might use it |
|---|---|---|
| 07:30 | 18:00 | Before a morning of lectures |
| 12:30 | 23:00 | In a free block at midday |
| 16:00 | 02:30, next day | Between afternoon labs and the evening |
| 21:30 | 08:00, next day | Late, after the university day |
Source: IANA time zone database, America/Lima and Asia/Kolkata. Neither zone observes daylight saving, so these conversions, which are ours, hold in every semester and every holiday.
University timetables change each semester, so we expect changes. One-to-one students can move their class hour between semesters, or around exam weeks, by telling their mentor in advance. Group students can switch to a batch at a different hour when one is available.
Levels
These levels are ours. They place a student in the right group and show what comes next, from first scripts to models that inform real decisions.
| Level | The student can | Engineering example |
|---|---|---|
| 1. Compute | Write functions, loops and tests | A unit converter that checks itself |
| 2. Iterate | Implement bisection and Newton, and count steps | The root-finding lesson on this page |
| 3. Vectorise | Use arrays instead of loops for speed | Process a thousand lab readings at once |
| 4. Fit and plot | Fit curves to data and judge the fit | A calibration curve for a sensor |
| 5. Simulate | Step a model through time and test it | A cooling tank, a circuit or a population |
At level 2 you stop trusting a number because the computer printed it. That habit is worth more than any library.
Keep a short log of each method: what it assumes, when it fails, how fast it converges.
The first semesters of engineering are demanding. Regular practice with a mentor turns a weekly struggle into steady progress.
You can ask for short progress notes; we describe what was understood, not hours logged.
More courses
Each is taught live in English by a mentor who stays with the student, in a batch or one to one.
PES / BASE / 01
Pointers, memory and structs, often the first language in an engineering plan.
Open the syllabusPES / BASE / 02
From fundamentals to modern C++ and systems work.
Open the syllabusPES / BASE / 03
Version control for lab code and team projects.
Open the syllabusPES / DATA / 01
Python, statistics, machine learning and deep learning.
Open the syllabusPES / DATA / 02
The maths underneath data work, built for university students.
Open the syllabusPES / DATA / 03
SQL and database design for data that outgrows a spreadsheet.
Open the syllabusPES / NEXT / 01
The theory behind efficient programs, practised in code.
Open the syllabusPES / NEXT / 02
Scripts and applied AI that remove repetitive work.
Open the syllabusPES / NEXT / 03
For students who also want the Python Institute exams.
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
A Peruvian morning is evening in India, a comfortable hour for a class.
Late
After labs, Peru evenings fall in the Indian early morning; tell us what you need.
1-on-1
Your own hours, which can change when your semester timetable does.
Each class centres on code the student writes and tests.
Every method is explained on paper as well as in Python.
Technical terms said slowly and typed in the chat.
The same teacher through the course, who knows your gaps.
Plan lighter weeks around your university assessments.
Fifteen to twenty students, or one student and a mentor.
Student work
Students who carry on past the first course build real software and models. A few are shown here; the student labs page has the rest.

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 in US dollars and paid by card each month. The conversion into soles is made by your bank on the day of each charge, which is why your statement may show a slightly different amount 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 our students and their families, copied without edits.
★★★★★
"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
Students in Peru ask
No. Every class is live, online and taught in English only. Mentors speak clearly, adjust to your pace and accent, and write key terms in the chat. Python, its libraries and their documentation are all in English, so learning in English removes a translation step you would meet anyway.
No. The zero-to-advanced Python course starts from the first line of code. Engineering students usually move quickly once the basics are clear, because the mathematics is already familiar.
A current one. Python 3.15 was released on 9 October 2026, and the scientific Python projects' SPEC 0 schedule recommends dropping support for Python 3.12 in the last quarter of 2026. If your university lab uses an older version, we work with it.
It should make it much easier to understand, because we explain the reasoning behind each method and practise it with you. Your university sets the syllabus and the marks; we do not do assignments for students or promise grades.
Yes, as part of our Python and mathematics courses: root finding, interpolation, numerical integration, linear systems and simple differential equations, each explained on paper and then in code.
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 Peru all year, so 07:30 in Peru is 18:00 in India.
Yes. Students under 18 join our teenage Python course; from 18 the university courses. We do not prepare for Spanish-language admission exams or promise admission, but Python and mathematical reasoning in English make the first semesters easier.
No. We are an independent online school with mentors based in India, and we are not connected with any Peruvian university. Students who finish a course receive our own certificate of completion, not a university credit.
Adult students may use them to question their own work, within their university's rules. Claude is for users of 18 and over. We expect every student to explain each line of code they submit, whoever or whatever suggested it.
Monthly, by card, in US dollars. Your bank converts each charge into soles, so the amount you see can change slightly between months. The first class is free and asks for no card.
Read next
More for engineering and science students.
The same classes, described in Spanish.
From arrays to analysis.
The road from numerics to models.
Efficiency, explained and practised.
When speed matters more than ease.
Every Peru page 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 set up Python, run a first numerical method and tell the mentor which courses you are taking. Afterwards we suggest a course, a group or one-to-one classes, and hours that fit your semester in Peru.
Want to read first? How we teach walks through a live class, and the course list holds every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
All classes are live video lessons in English, taught from India. For a quick reply, message us on WhatsApp 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