JCS / CORE / 01
University mathematics
Calculus, linear algebra and discrete topics by track.
Open the syllabusPeru · Java at university · Computer science and systems
For a computer science or systems student, Java is rarely the goal in itself. It is the language many courses use to teach objects, data structures, algorithms and software design, which are the real goals. This page is for university students in Peru who want those ideas taught slowly and properly, in English: what the international CS curriculum expects of every graduate, where Java fits in a Peruvian plan of studies, how contest programming works, and a sorting lesson that looks trivial until you meet a tie.
Teaching live online since 2020 · 10,000+ students worldwide · every class live, online and in English
At a glance
For computer science and systems students in Peru, Modern Age Coders teaches Java, object-oriented design, data structures and algorithms as live online classes in English. Each session is taught as it happens by a mentor based in India, in a group of fifteen to twenty or one to one, at hours planned around your university timetable in Peru time. We teach alongside your degree: your university sets the coursework and the marks, and we make sure you understand the ideas well enough to do it yourself.
For your degree
The language, the structures built with it, and the contest skills that test both under pressure.

JCS / 01
Ten to twelve months for students of 18 and over, from zero if needed. Core Java, object-oriented design, collections, testing and back-end services, at whatever speed your degree demands.
Open the syllabus →
JCS / 02
Lists, stacks, trees, heaps, graphs, sorting and complexity over ten to twelve months, each structure built by hand before the library version is used.
Open the syllabus →
JCS / 03
From first contest problems to ICPC-level practice over ten to twelve months, with timed virtual contests and a review of every solution afterwards.
Open the syllabus →What a CS degree expects
A widely cited international answer is CS2023, the computer science curriculum report of the ACM, the IEEE Computer Society and AAAI. It names a "CS Core" that every graduate should cover and estimates it at 270 hours of class time, spread across seventeen knowledge areas.
| Knowledge area | CS Core hours | KA Core hours |
|---|---|---|
| Software Development Fundamentals (SDF) | 43 | none listed |
| Algorithmic Foundations (AL) | 32 | 32 |
| Foundations of Programming Languages (FPL) | 21 | 19 |
| Mathematical and Statistical Foundations (MSF) | 55 | 145 |
| Society, Ethics, and the Profession (SEP) | 18 | 14 |
| Systems Fundamentals (SF) | 18 | 8 |
| Artificial Intelligence (AI) | 12 | 18 |
| Data Management (DM) | 10 | 26 |
| Software Engineering (SE) | 6 | 21 |
| All seventeen areas | 270 | not totalled |
Source: ACM/IEEE-CS/AAAI, Computer Science Curricula 2023 (CS2023), "Introduction to the Knowledge Model", Table 2, read on 9 November 2026 and checked against the rendered PDF page. The report was endorsed by ACM on 18 January 2024, IEEE-CS on 22 January 2024 and AAAI on 22 February 2024, and a Spanish version is available on the CS2023 site. Eight smaller areas are left out of this table; their hours are included in the 270.
CS Core topics are the ones every graduate should meet. KA Core topics are the deeper material a programme may choose to cover in some areas and not others. CS2023 assumes a typical course meets for about 40 instructional hours, so by our arithmetic the CS Core alone is close to seven full courses.
Three areas carry most of the programming: Software Development Fundamentals, Algorithmic Foundations and Foundations of Programming Languages. Together they make up 96 of the 270 CS Core hours, about 36% by our calculation.
CS2023 does not prescribe a language. Java is simply one of the common vehicles for those three areas: it has classes and interfaces for design, a large collections library for data structures, and a strict type system that makes many errors visible early.
So a student who learns Java well is not learning "a Java course". They are covering a large share of what the international curriculum treats as non-negotiable, and the ideas transfer to C++, Python, Kotlin or C# afterwards.
Your plan of studies
In the programming chain that runs through the first half of most plans. Each university designs its own plan; the Universidad de Lima's 2026 plan for Ingeniería de Sistemas is a clear public example.
The Universidad de Lima publishes its 2026 malla curricular for Ingeniería de Sistemas as a PDF: ten levels, from NIVEL 1 to NIVEL 10, and 205 credits in total, marked as subject to curricular change.
Its programming chain includes Introducción a la Programación, Paradigmas de Programación, Programación Orientada a Objetos, Estructuras de Datos I and II, and Análisis y Diseño de Algoritmos, alongside Estructuras Discretas de Computación and two courses of Ingeniería de Software.
By our own reading, those courses line up with the three programming-heavy CS2023 areas: object-oriented programming and paradigms with Foundations of Programming Languages, the data structures courses and algorithm design with Algorithmic Foundations, and the introductory course with Software Development Fundamentals.
That mapping is ours, not the university's. Other Peruvian universities use different names and orders, and the official plan is always the one your faculty publishes. For a Spanish-language view of a different plan, see our page curso de Java para universitarios.
Peru has many universities to choose from: SUNEDU, the national university regulator, reported 94 licensed universities in its press note of 15 September 2021. We are not connected with SUNEDU, the Universidad de Lima or any other university, and we do not award credits. Our classes run alongside the degree, explaining the ideas your courses assess. Students weighing up Python and Java together can also read cursos de programación para universitarios.
Contests
For many students, yes, because it turns algorithms from a chapter into a reflex. Peruvian universities take it seriously: the Universidad de Lima's algorithm circle lists among its aims preparing teams for the ICPC and IEEExtreme contests, and running internal contests in the ICPC format.
Reading a precise problem in English, choosing an algorithm whose running time fits the limits, writing it correctly under time pressure, and testing the edge cases before the judge does.
Java's collections, comparators and big-number support make it a capable contest language. C++ is faster to run and more common at the top; many students compete in both, and we teach both.
Contest scoreboards rank by problems solved and break ties by time. Peru's school olympiad, the OPI, states the same idea in its 2025 rules: score first, then time penalty, used only to separate ties.
That last point is the starting idea for our lesson. A ranking is just a sort, and a sort is only as good as its rule for ties. Contest organisers write tie rules down for exactly that reason, and a programmer who forgets them produces a scoreboard that looks right and is not. We are not connected with the ICPC, IEEE or UTEC's OPI; the problems we use in class are our own.
A real lesson
With a comparator that breaks every tie. This lesson, which we teach to university students in their first data structures months, uses an invented five-person scoreboard and Java 21's records and comparators.
Five contestants, each with problems solved and penalty minutes. The rule: more problems solved ranks higher; on a tie, fewer minutes ranks higher; if that ties too, order by name so the result never depends on luck.
Most students write the first sort quickly: problems solved, highest first. It compiles, runs and looks plausible.
Look at the first output. Diego and Bruno both solved 5 in 260 minutes, and Diego comes first only because he was entered first. Valeria, with 210 minutes, ranks above Ana with 180, which breaks the rule.
Java did nothing wrong. Its documentation says Collections.sort is guaranteed to be stable: equal elements are not reordered. Elements the comparator calls equal simply stay in their input order, so the comparator must say everything the rule says.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class Ranking {
record Entry(String name, int solved, int minutes) {}
public static void main(String[] args) {
List<Entry> board = new ArrayList<>(List.of(
new Entry("Valeria", 4, 210),
new Entry("Diego", 5, 260),
new Entry("Ana", 4, 180),
new Entry("Bruno", 5, 260),
new Entry("Camila", 3, 95)
));
board.sort(Comparator.comparingInt(Entry::solved).reversed());
System.out.println("By solved only:");
board.forEach(e -> System.out.println(" " + e));
board.sort(Comparator.comparingInt(Entry::solved).reversed()
.thenComparingInt(Entry::minutes)
.thenComparing(Entry::name));
System.out.println("Solved, then minutes, then name:");
board.forEach(e -> System.out.println(" " + e));
}
}Compiled and run with JDK 21, the first block prints Diego, Bruno, Valeria, Ana, Camila (for example Entry[name=Diego, solved=5, minutes=260] first). The second prints Entry[name=Bruno, solved=5, minutes=260], then Diego, Ana, Valeria and Camila.
The fix is a chain: thenComparingInt(Entry::minutes) settles ties on solved problems, and thenComparing(Entry::name) settles the rare full tie. Now Ana correctly passes Valeria, and Bruno and Diego appear in alphabetical order whatever order they were entered in. A stable sort keeps your input order for ties; only your comparator can replace it with a rule.
The Comparator documentation adds the contract behind all of this: comparing x with y must give the opposite sign to comparing y with x, and the relation must be transitive. Comparators that break the contract can make sorting behave unpredictably, which is why we teach students to build them from comparingInt and thenComparing rather than hand-written subtraction. The scoreboard and names are ours, invented for the exercise.
reversed() at the very end of the chain instead?List.sort in the documentation and say whether your timings agree.Thinking, not copying
Your university decides what is allowed in its coursework, and you should follow its rules. Our view is simpler: if you cannot explain why a comparator is correct, you have not finished the exercise, whoever wrote the code.
Write the rule in a sentence first, as in the scoreboard lesson: solved, then minutes, then name. The code is a translation of that sentence, and most bugs are a sentence that was never written.
The stable-sort guarantee and the comparator contract are both in the official Java documentation, in English. A student who reads it can answer questions that a pasted answer never raises.
Claude is for users aged 18 and over. University students may use such tools to criticise their own designs, within the rules of their course, never to hand in code they cannot defend line by line.
Whether you study in Lima, Arequipa, Trujillo or Cusco, the teaching standard is the same: reasoning first, code second, and an honest answer when a topic is harder than your course made it look.
Hours
They are taught only in English, at the hour you pick. Peru stays five hours behind UTC all year without daylight saving; India stays five and a half hours ahead; so the gap is ten and a half hours on every date. The rows are worked examples, not a schedule.
| Peru time | India time | Typical reason |
|---|---|---|
| 05:30 | 16:00 | Before an early commute to campus |
| 09:00 | 19:30 | A morning without lectures |
| 14:00 | 00:30, next day | Between afternoon sessions |
| 22:00 | 08:30, next day | After evening classes or work |
Source: tz database (IANA), America/Lima and Asia/Kolkata. Conversions are ours and do not change during the year.
Mentors explain in clear, measured English and type the key terms into the chat, so a student can review them later. Contest problems, API documentation and most of the CS literature are in English too, so practising technical English in class pays off well beyond the course.
Levels
Our levels, used to place students and to show what the next semester of work looks like.
| Level | The student can | Evidence |
|---|---|---|
| 1. Syntax | Write and debug small Java programs | Fixes compiler errors by reading them |
| 2. Objects | Design classes, interfaces and records | A small model with tests |
| 3. Structures | Build lists, trees and maps by hand | Explains the cost of each operation |
| 4. Algorithms | Sort, search and traverse graphs with proofs of cost | The scoreboard lesson and its extensions |
| 5. Contest | Solve timed problems and test edge cases | Virtual contests with a written review |
Level 4 is where sorting stops being a library call and becomes a design decision.
Keep a notebook of every bug that came from a missing rule. It becomes your best revision guide.
Computer science degrees are demanding in the first years. Steady practice with a mentor keeps a student from falling behind.
Short progress notes describe what was understood, not hours logged.
More courses
All live and in English, with a mentor who stays with the student, in a group or one to one.
JCS / CORE / 01
Calculus, linear algebra and discrete topics by track.
Open the syllabusJCS / CORE / 02
Memory and pointers, the layer under Java.
Open the syllabusJCS / CORE / 03
The other main contest language, with the STL.
Open the syllabusJCS / SYS / 01
SQL and design for the Data Management area.
Open the syllabusJCS / SYS / 02
Team workflows for group projects.
Open the syllabusJCS / SYS / 03
A Java or JavaScript back end with a real front end.
Open the syllabusJCS / NEXT / 01
A modern language on the same platform.
Open the syllabusJCS / NEXT / 02
From Python to deep learning, with the maths explained.
Open the syllabusJCS / NEXT / 03
The second language most CS students need.
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.
Mornings
Early hours in Peru meet the Indian evening comfortably.
Nights
Late Peruvian hours reach India in the morning; ask for what you need.
1-on-1
Private classes that can shift each semester as your timetable changes.
Students write, run and debug Java in every class.
Build it yourself before using the library.
Measured explanations with terms typed out.
The same person across the course.
Lighter weeks planned around midterms and finals.
Fifteen to twenty students, or a mentor alone with you.
Student work
Students who keep going build substantial software. Here are a few projects; the student labs page collects 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
We price in US dollars and take payment by card monthly. The soles figure is your bank's conversion on the charge date, so it can drift a little between statements.
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 students and parents, as written.
★★★★★
"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 ask
No. We teach only in English, live and online. Mentors speak at a measured pace, adapt to your accent, and type key terms in the chat. The Java documentation, contest problems and most computer science books are in English, so the class prepares you for all of them.
It should, because we explain the ideas behind each topic and practise them with you. Your university sets the syllabus, assignments and marks, and we do not complete coursework for students or promise grades.
No. The Java course starts from zero for students of 18 and over. Students who already know the basics usually join the data structures course or move faster in one-to-one classes.
It is the computer science curriculum report of the ACM, the IEEE Computer Society and AAAI, endorsed in early 2024. It sets out a CS Core of about 270 hours that every graduate should cover. We use it to check that our courses build the skills a degree expects.
Yes, it is a capable contest language, with strong collections and comparators. C++ runs faster and is more common at the top level, so many students learn both. We teach both and practise with problems we write ourselves.
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. Because India is ten and a half hours ahead, 09:00 in Peru is 19:30 in India.
No. We are an independent online school with mentors in India, not connected with any Peruvian university, SUNEDU or contest organiser. Finishing a course earns our own certificate of completion, never university credit.
Follow your university's rules first. Claude is for users aged 18 and over. In our classes, AI may be used to criticise a design, but a student must be able to explain every line of code they submit.
A laptop or desktop computer with a current JDK, a reliable connection and preferably a headset. The mentor helps with installation in the free class. Phones are not suitable for programming practice.
By card, monthly, in US dollars. Your bank decides the conversion into soles on each charge date, so small differences between months are normal. The free class needs no card at all.
Read next
More for computer science students.
Our Spanish page for university students.
Data structures taught in Java.
Classes, interfaces and design.
The theory, with practice.
The other contest language.
Our index of Peru pages.
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
The free class starts with a short problem and a first comparator, then a conversation about your courses this semester. The mentor then recommends a course, group or private classes, and Peru hours that work around your timetable.
Read more first? How we teach explains a class in detail, and the course list holds the syllabi.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Classes are live video sessions in English, led from India. For a quick reply, write to 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