CPAU / FND / 01
Problem Solving and DSA for Teens
Logic and algorithms, 13 to 18.
Open the syllabusAustralia · Teens, uni students and adults · Algorithms against the clock
Competitive programming is solving well-defined problems with code, fast and correctly, while a computer judges the answer. It rewards clear thinking about algorithms, but marks are often won or lost on smaller things: an off-by-one boundary, a slow way of reading input, an untested edge case. Our coaching covers both the big ideas and the small ones, live online, for Australian school students, university students and adults who simply enjoy puzzles. This page explains how contests work, measures one of those small things with real timings, and shows where it leads, including the school olympiad route.
Live teaching since 2020 · 10,000+ students · Algorithms, then the details that decide marks
In short
Competitive programming is solving algorithm problems with code against a time limit, judged automatically on correctness and speed. Success depends on algorithms and data structures, but also on careful testing and efficient input and output. Modern Age Coders coaches competitive programming live online for Australian teens, university students and adults, in small groups or one to one, and the first class is free.
Start here
Chosen by age and experience. Each card opens the syllabus.

CPAU / 01
Ages 13 to 18 who can already write basic programs and want contest-level problem solving.
Open the syllabus →
CPAU / 02
For 18 and over, from first contests to university team competitions.
Open the syllabus →
CPAU / 03
The algorithms and data structures underneath every contest, from scratch.
Open the syllabus →What it is
Every contest follows the same shape, whichever organisation runs it.
| Part | What it says | Common mistake |
|---|---|---|
| Statement | The task in plain words, often a short story | Solving the story instead of the task |
| Input format | Exactly what the program will read | Reading it in a way that is too slow |
| Constraints | How large the input can be | Ignoring them and choosing a slow algorithm |
| Time and memory limits | How long and how much memory the program may use | Testing only on the small sample |
| Sample tests | One or two small examples | Assuming passing them means the solution is right |
School students meet it first through the Australian Informatics Olympiad, which accepts four languages: "Allowed languages are C, C++, Java or Python 3."
University students compete in team contests such as the ICPC, and adults keep practising on online judges for the pleasure of the puzzles.
Precise reading, algorithmic thinking, and the discipline of testing before submitting.
Those habits carry into any programming work, even for people who never enter a contest.
A worked example
Problems often begin with a long list of numbers. How a program reads them can matter as much as the algorithm.
We generated files of 1,000, 100,000 and 1,000,000 random integers with a fixed seed and wrote programs that add them up. Each was run three times and the fastest whole-program time kept, start-up included, on an ordinary Windows laptop. Every version printed the same sum.
| Program | n = 1,000 | n = 100,000 | n = 1,000,000 |
|---|---|---|---|
| Python, input() once per line | 0.080 s | 0.144 s | 0.735 s |
| Python, sys.stdin.buffer read all at once | 0.075 s | 0.089 s | 0.208 s |
| C++, cin with default settings | 0.055 s | not run | 1.434 s |
| C++, cin with sync_with_stdio(false) | 0.052 s | not run | 0.840 s |
At 1,000 numbers every version finishes in well under a tenth of a second. The plain input() loop is fine, and simpler to write.
At a million numbers, reading everything at once is about 3.5 times faster in Python. That can be the gap between passing and a time-limit failure.
On this machine's older compiler, Python's bulk read beat C++ cin even with synchronisation turned off. The language matters less than the reading method.
By default C++ streams stay in step with C's input functions. cppreference explains the switch: "If the synchronization is turned off, the C++ standard streams are allowed to buffer their I/O independently, which may be considerably faster in some cases."
In our run, turning it off cut 1.434 s to 0.840 s.
Measure on input as large as the constraints allow, not on the sample. Simple code is right for small inputs; switch to bulk reading only when the numbers say it matters.
Our timings depend on the machine and compiler, so students repeat them on their own.
Sources, read 14 October 2026: cppreference, std::ios_base::sync_with_stdio; Australian Maths Trust, Australian Informatics Olympiad. Programs, inputs and timings are our own.
How to practise
Progress in competitive programming comes from steady practice with honest review, not from cramming.
| Session | Activity | Purpose |
|---|---|---|
| Lesson 1 | A new topic, such as prefix sums or graph search, with worked problems | Add one idea to the toolkit |
| Lesson 2 | A timed set of three problems, then a review of every attempt | Practise under pressure, learn from mistakes |
| Own time | Two or three problems on an online judge at the right level | Keep the habit going |
| Every few weeks | A full mock contest | Pacing, choosing which problem to try first |
Students write a slow but obviously correct version, generate random small inputs, and compare it with the fast version before they submit.
They also build the largest input the constraints allow and time the program on it, exactly as in the example above.
Python is quickest to write and fine for most problems at school level. C++ gives more headroom when time limits are tight.
Many learners start in Python and add C++ later; our C++ classes cover the language itself.
Routes
Different ages follow different routes. This page covers the skill; dedicated pages cover the school olympiad.
| Stage | Route | Where to read more |
|---|---|---|
| School, up to Year 12 | The Australian Informatics Olympiad and the training that follows it | AIO preparation and the AIO to IOI pathway pages |
| University | Team contests such as the ICPC, and university programming clubs | This page and our adult course |
| Adults | Online judges and rated contests, for skill and enjoyment | This page |
| Anyone | Algorithm practice to sharpen general programming | The software development course |
School students should read Australian Informatics Olympiad preparation and the AIO to IOI pathway for dates, divisions and the selection route. This page does not repeat them.
Common mistakes
Many failed submissions have the right algorithm and a small slip around it. Reviews focus on these as much as on the big idea.
| Slip | What happens | The habit that prevents it |
|---|---|---|
| Output format | An extra space or missing line fails an exact checker | Copy the sample output format exactly |
| Boundary values | The smallest or largest allowed input breaks the code | Test n = 1 and the maximum before submitting |
| Leftover debug prints | Extra text in the output is marked wrong | Print debugging to the error stream, not the output |
| Slow input or output | Correct answers arrive after the time limit | Time the program on the largest input |
| Integer size in C or C++ | Sums overflow a 32-bit int | Use 64-bit types when values can grow large |
After a timed set, each learner explains one wrong submission: what the judge said, what they guessed, and what the fault really was.
Writing the fault down turns one mistake into a rule they keep.
Sometimes the algorithm itself is too slow or wrong, and no amount of tidying will fix it. Telling the two apart quickly is a skill that grows with practice.
The review asks which kind each failure was.
Mindset
Competitive programming means being stuck often. Learning how to be stuck productively is part of the coaching.
| Minutes stuck | Next step |
|---|---|
| 10 | Reread the statement and work a small example by hand |
| 20 | Write the slowest correct solution you can think of |
| 40 | Look for a pattern in the brute force outputs |
| 60 or more | Read a hint or editorial, then solve it again from scratch the next day |
A slow correct answer is never wasted. It confirms the problem is understood and gives a way to test a faster idea later.
Many solutions are found by looking hard at what the brute force prints.
After a fair attempt, reading someone else's solution is how most competitors learn new techniques.
The rule is to close it and write your own version without looking.
Progress
Each level is a set of skills, not a fixed timetable; the reviews show when a learner is ready for the next.
| Level | What you can do |
|---|---|
| 1. Solver | Read a problem precisely and solve easy ones with loops and arrays |
| 2. Analyst | Estimate whether an approach fits the constraints before coding it |
| 3. Toolkit | Use sorting, prefix sums, binary search, graphs and simple dynamic programming |
| 4. Competitor | Pace a full contest, test under time pressure, and review afterwards |
No. It rewards persistence and careful reading more than talent. Most of the skill is learnable patterns plus practice.
School maths is enough to begin.
Yes. Many adults take it up for enjoyment or to sharpen their programming. The adult course starts from the basics.
There is no age limit on online judges.
The catalogue
Grouped by stage. The free class decides where a learner starts.
CPAU / FND / 01
Logic and algorithms, 13 to 18.
Open the syllabusCPAU / FND / 02
The fastest language to start in.
Open the syllabusCPAU / FND / 03
For 18 and over.
Open the syllabusCPAU / CON / 01
Contest problems, 13 to 18.
Open the syllabusCPAU / CON / 02
Online judges to team contests, 18+.
Open the syllabusCPAU / CON / 03
The maths behind harder problems.
Open the syllabusCPAU / LNG / 01
STL and speed, 13 to 18.
Open the syllabusCPAU / LNG / 02
Modern C++ for adults.
Open the syllabusCPAU / LNG / 03
Another allowed contest language.
Open the syllabusHow lessons run
Coaches are based in India, where the working day overlaps Australian afternoons and evenings. Times are set in your own state's time and follow daylight saving.
After school
Weekday lessons for school students.
Evening
For university students and adults, by arrangement.
Weekend
Mock contests and long reviews.
One problem solved together and a check of the learner's current level.
Fifteen to twenty learners at the same level, comparing solutions.
For a particular contest, language or gap.
Wrong answers are studied, not skipped.
Solutions are tested on inputs as big as the constraints allow.
Coaches guide; learners write every solution.
Student work
Work our students built and published. The student labs list 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
Learners outside India pay one monthly fee in US dollars. There is nothing to pay at sign-up and no contract.
Free first class
USD 0
no card required
Group batch
USD 100
a month, billed in US dollars
One to one
USD 150
a month, billed in US dollars
What families say
Published reviews from our Google profile, quoted exactly.
★★★★★
"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
Learners ask
Solving algorithm problems with code against time and memory limits, with answers checked automatically by a judge on correctness and speed.
Python is quickest to write and enough for many problems; C++ gives more speed when limits are tight. The Australian Informatics Olympiad allows C, C++, Java or Python 3.
Yes, for large inputs. In our test, reading a million numbers took 0.735 s with input() per line and 0.208 s with one bulk read in the same Python program.
It stops C++ streams keeping in step with C's input and output, so they can buffer independently. In our run it cut reading a million numbers from 1.434 s to 0.840 s.
No. University students compete in team contests such as the ICPC, and adults practise on online judges. We coach all ages.
The AIO pages cover the school olympiad itself: dates, divisions and selection. This page covers the skill and contests for every age.
School maths is enough to start. Harder contests use more, which is taught as needed.
It varies from learner to learner. Steady weekly practice matters more than talent, and the review after each timed set shows the progress.
We make no job, salary or grade promises. It builds algorithmic thinking and testing habits that are useful in any programming.
The first session is free and no card is needed. Monthly prices for group and individual coaching are shown in the fees panel.
Also on this site
Pages beside this one.
For the school olympiad.
The selection route.
The language in depth.
Testing, Git and debugging.
Contest dates through the year.
The starting point for every Australian topic.
Start here
Leave your details and we will call at a good time. The first class solves a problem together and ends with a clear recommendation.
Read how we teach or see the full course list.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
WhatsApp from an Australian phone is the fastest route to a coach. The +91 number is our India office; nothing is based in Australia.
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