COM / ALG / 01
Competitive programming
Contest problems, timed.
Open the syllabusUnited States · Grades 9 to 12 · The 2026-27 school year
A high schooler in the US can spend this school year on algorithm contests, a computer science league run through school teams, a cyber defense competition, capture the flag events, or a build challenge judged on a finished app. They reward different skills and run on different calendars, so picking two that suit the student beats entering everything. This page describes eight of them, each from the organiser’s own website as read on 17 October 2026, then gives a practice problem and a month-by-month plan from our teachers.
Live teaching since 2020 · 10,000+ students · contest problems explained line by line
In short
The main coding competitions open to US high school students in 2026-27 are USACO (free online algorithm contests in C, C++, Java or Python), ACSL (four school-team contests from October 19, 2026), CyberPatriot (team cyber defense), picoCTF (now CyLab Security Academy, free capture the flag), the Congressional App Challenge, the Presidential SI Challenge, the USA-NA-AIO and FIRST robotics. Modern Age Coders prepares teens for them in live online classes.
Prepare with a teacher
Pick by the kind of contest: algorithms, security, or a finished app that judges can open.

COM / 01
Teens 13 to 18: contest problems from simulation and sorting up to graphs.
Open the syllabus →
COM / 02
Teens 13 to 18: capture the flag puzzles and hardening Windows and Linux.
Open the syllabus →
COM / 03
Teens 13 to 18: one finished app, ready for a judge to open.
Open the syllabus →At a glance
One row per competition, every cell taken from that organiser’s own pages. Where a 2026-27 date was not yet published on 17 October 2026, the cell says so instead of guessing.
| Competition | What students do | Solo or team | Who can enter | 2026-27 timing |
|---|---|---|---|---|
| USACO | Algorithm problems solved in C, C++, Java or Python, scored on hidden test cases | Solo | Anyone online; camp selection is for pre-college students in the USA | Not yet published; the 2025-26 season ran three online contests in January and February 2026 and a proctored US Open on March 28 |
| ACSL | A 30-minute short answer test on CS topics plus a 72-hour programming problem, four times a year | School teams, scored individually too | K-12 schools and groups; Senior and Intermediate divisions suit high school | Contest #1 opens October 19, 2026; Finals on Saturday, May 29, 2027 |
| CyberPatriot | Find and fix security problems in Windows and Linux images, plus a Cisco networking quiz | Teams of two to six, five at a time | High school teams in the Open or All Service Division | Team creation closed October 1, 2026; Round 1 runs October 22 to 25, 2026 |
| picoCTF (CyLab Security Academy) | Capture the flag challenges in eight security domains | Solo, or teams of up to five in team events | Anyone can practise; the annual flagship is for US middle and high school students | Flagship dates not yet posted |
| Congressional App Challenge | Build an app in any language, then record a demo of one to three minutes | Solo or up to four | Middle and high school students in a participating district | Deadline 12:00 pm EDT, Monday, October 26, 2026 |
| Presidential SI Challenge | A project that applies SI (the new federal term for AI) to a community problem, as a PDF and a video | One to four students with an adult Team Leader | Grades 9 to 12 in the High School Student Category | Register by December 18, 2026; submit by December 23, 2026 |
| USA-NA-AIO | Machine learning theory and coding in Google Colab, proctored | Solo | Middle and high school students in the US or Canada, under 20 by August 30 | Round 1 on Friday, February 19, 2027 |
| FIRST Robotics and FIRST Tech Challenge | Design and build a robot for a game released each September | Teams with mentors | FIRST Robotics Competition grades 9 to 12; FIRST Tech Challenge grades 7 to 12 | The 2026-2027 season is called FIRST CANOPY |
The first split is solo versus team. USACO, the USA-NA-AIO and the ACSL tests are taken alone; CyberPatriot, FIRST and the build challenges are team efforts where communication matters as much as code.
The second split is speed versus depth. A timed algorithm contest rewards clean thinking under a clock, while an app or SI project rewards a student who can keep improving one idea for weeks.
A sensible pair for most students is one individual contest that runs on its own schedule, such as USACO or ACSL, and one team or build event that fits the fall, such as CyberPatriot or the Congressional App Challenge.
Students who already enjoy maths proofs tend to like USACO. Students who like taking systems apart often prefer capture the flag. Students who want something to show people usually want a build challenge.
Sources: the official sites of USACO, ACSL, CyberPatriot, CyLab Security Academy, the Congressional App Challenge, the Presidential SI Challenge, USAAIO and FIRST, all read on 17 October 2026. None of these organisations has any link with Modern Age Coders.
USACO
The USA Computing Olympiad runs free online algorithm contests in four divisions. Its rules page is short and specific, which makes it easy to prepare for precisely.
| Topic | As published by USACO |
|---|---|
| Who | "All are welcome to participate in online USACO contests and training." Selection for the summer camp and the IOI and EGOI teams is limited to pre-college students in the USA. |
| Cost | "There is never any fee for participation." |
| Divisions | Bronze, silver, gold and platinum. "All new participants start out in the bronze division"; full marks during a contest moves a student up straight away. |
| Languages | Solutions in C, C++, Java or Python. All bronze-level problems are meant to be fully solvable in Python; some higher-division problems may not be. |
| Length | Typically 3 or 4 problems. The personal timer of about four to five hours starts when the student opens the contest, at any point in the window. |
| Time limits | For most contests, 2 seconds per input case for C and C++, and 4 seconds per input case for Java and Python. |
| Feedback | Green for a correct test case, and X, T, !, E or M for a wrong answer, a time limit, a crash or memory limit, an empty output and a missing output. |
| Integrity | "Use of generative AI (e.g., services like copilot or ChatGPT) is prohibited." No pre-written code or templates, no teamwork, no VPNs. |
On 17 October 2026 the USACO home page still showed the 2025-26 schedule: online contests on January 9 to 12, January 30 to February 2 and February 20 to 23, 2026, then a proctored US Open on March 28, 2026. The site describes that season as somewhat transitional.
No 2026-27 dates were posted on the read date. Students should plan for contests in the winter and check usaco.org before the new year rather than rely on last season’s weekends.
Two seconds sounds generous until the input has 100,000 numbers. The skill USACO rewards most is estimating how many steps a solution will take before typing it, which is exactly what the practice problem further down this page teaches.
Our longer guide to USACO coaching covers the divisions in more depth, and the blog post on moving from bronze to silver covers the most common sticking point.
Source: USACO contest instructions and rules and the USACO home page, read 17 October 2026.
ACSL
The American Computer Science League mixes computer science theory with programming, and it runs through schools and groups rather than individual sign-ups. Registration for 2026-27 opened before this page was written.
| Contest | Opens | Closes |
|---|---|---|
| Contest #1 | October 19, 2026 | Sunday, January 10, 2027, 11:59 pm Eastern |
| Contest #2 | January 4, 2027 | Sunday, February 28, 2027, 11:59 pm Eastern |
| Contest #3 | February 1, 2027 | Sunday, April 11, 2027, 11:59 pm Eastern |
| Contest #4 | March 1, 2027 | Sunday, May 23, 2027, 11:59 pm Eastern |
| Invitational Finals | Invitations from May 1, 2027 | Saturday, May 29, 2027, online |
| Item | ACSL’s own wording or rule |
|---|---|
| Senior Division | For high school students with programming experience, especially those taking AP Computer Science |
| Intermediate Division | For high school students with little or no programming experience, and advanced junior high students |
| Each contest | An online 30-minute, 6-question short answer test and a programming problem to solve in 72 hours |
| Languages | Python 3, Java or C++. Short answer questions may show code in ACSL Programming Language, LISP or Assembly Language, which students only need to read |
| Teams | A 5-score team can have up to 10 students and a 3-score team up to 6; the team score adds the top 5 or top 3 scores each contest |
| Registration | By a team advisor, not by students; the season deadline is December 31, 2026 |
| Advisor | "An ACSL advisor can be any teacher, parent or other adult with some CS experience." |
| During tests | "No calculators are allowed." Paper and pencil only; no internet help and no help from people |
| Finals cut-off | At least 28 points in the Junior, Intermediate and Senior Divisions |
# ACSL's FAQ says its driver passes only primitives, so a list of
# numbers arrives as one string. Split it and convert first.
def largest_gap(numbers_text):
values = [int(part) for part in numbers_text.split()]
values.sort()
gaps = [values[i + 1] - values[i] for i in range(len(values) - 1)]
return max(gaps) if gaps else 0
print(largest_gap("12 3 40 18 7")) # sorted: 3 7 12 18 40, gaps 4 5 6 22, prints 22
print(largest_gap("5")) # one value, no gap, prints 0Our own function and test strings. The point is the first line inside the function: forgetting to split and convert the string is a common way to lose a whole programming problem.
Because any teacher, parent or other adult with some CS experience can act as advisor, a parent can register a small team. ACSL’s FAQ says there is no minimum number of students, and it answers yes to homeschoolers directly.
One rule to know: a student in an after-school program whose full-time school already has an ACSL team must compete on the school’s team.
Topics range from number systems to Boolean algebra and digital electronics, and the 30 minutes go quickly. Students who only practise programming often score well on the 72-hour problem and lose the contest on the theory half.
Our practice sessions alternate: one week of short answer drills on the ACSL wiki topics, one week of a full programming problem with tests.
Sources: ACSL Schedule, Divisions, Finals, Registration and FAQ, read 17 October 2026. Our ACSL preparation guide goes topic by topic.
The AI question
This is an easy rule to get wrong, because it changes completely from one event to the next. Breaking it in USACO can mean a lifetime ban; ignoring it in the Presidential SI Challenge means missing the point of the contest.
| Competition | Rule on AI or outside help |
|---|---|
| USACO | Generative AI is prohibited during contests; violations lead to a lifetime ban from all USACO activities |
| ACSL | Tests are individual; HackerRank plagiarism checks apply, and the Finals run in a secure mode with full-screen enforcement and webcam image analysis |
| USA-NA-AIO | Part 1 runs with app lockdown; Part 2 allows Google Colab while monitoring software and a screen and face recording stay on |
| Congressional App Challenge | AI tools are permitted if all AI usage is fully disclosed in the submission materials, and AI must not be the entirety of the technical development |
| Presidential SI Challenge | The project is about applying SI; teams are asked how they tested or verified the accuracy of SI-generated outputs |
| CyberPatriot | Teams may ask technical support questions during a round, but not about the vulnerabilities themselves |
Our students practise contest problems with AI switched off from the first week, so a ban never comes as a shock. For build projects, they keep a short log of every AI suggestion they kept and why, which turns disclosure into a five-minute task.
ACSL puts the reason plainly on its Finals page: "It is not a contest to see if the student can get the answer using AI, friends, parents, or random internet sources".
Contest rules are only half of it. Each AI product publishes its own age floor, and a few refuse anyone under 18 outright, so a teenager should check that floor first and involve a parent when opening an account.
Our post on studying with AI without cheating covers the line between help and doing the work for you.
Security contests
Both are about cybersecurity, but one is defense on a deadline as a team, and the other is a puzzle hunt you can practise alone all year.
| Round | Dates | Who takes part |
|---|---|---|
| Round 1 | October 22 to 25, 2026 | All Open and All Service Division teams |
| Round 2 | November 12 to 15, 2026 | All teams, even those that missed Round 1 |
| State Round | December 10 to 13, 2026 | All teams, on a clean slate, placed in tiers by skill |
| Semifinals | January 21 to 23, 2027 | Qualifying teams only |
| National Finals | March 12 to 16, 2027 | National Finalist teams, in person |
Teams have a coach, who is an approved adult, and between two and six competitors, with at most five competing at any one time. Each team picks one continuous 4-hour block inside the competition weekend window.
For CyberPatriot 19, teams had to be created by October 1, 2026 and competitors added to a roster by October 21, 2026. A student who missed this season can still use the archived training materials and plan to join a team for next season.
The picoCTF site now points visitors to CyLab Security Academy, Carnegie Mellon University’s free platform. Its competitors page describes mini-competitions through the year plus an annual flagship for US middle and high school students.
Events allow teams of up to five or are solo, set event by event. Eight domains are covered, from general skills and cryptography to web exploitation, forensics and an AI category on prompt injection. Flagship dates for 2027 were not posted on the read date.
Sources: CyberPatriot competition overview, schedule and registration pages; CyLab Security Academy competitors page; all read 17 October 2026.
Build challenges
Two national challenges ask high schoolers to make something and explain it. Both have hard deadlines in the next few months of the 2026-27 school year.
| Point | Congressional App Challenge (2026) | Presidential SI Challenge (2026-27) |
|---|---|---|
| Who | Middle and high school students in a participating Congressional District | High School Student Category: grades 9 to 12, with parental consent |
| Team | Solo or up to four students | One to four students and one Team Leader aged 21 or older |
| What you hand in | An app plus a demo video of 1 to 3 minutes and written answers | A PDF of no more than 10 pages plus a title page, and a video of 4 minutes at most |
| Deadline | 12:00 pm EDT, Monday, October 26, 2026 | Team sign-up closes December 18, 2026 and the project is due December 23, 2026, at 5:00 p.m. Eastern each time |
| After that | Each Member of Congress’s office judges in November and names winners in December | State champions in February 2027, regional rounds between March 4 and April 8, 2027, national event June 6 to 9, 2027 |
Families searching for the Presidential AI Challenge will find the same program under a new name. The official site says an executive order of September 29, 2026 replaced "Artificial Intelligence" with "Super Intelligence" in the executive branch, so the contest is now the Presidential SI Challenge.
The rules also set a Trailblazer Track for projects that are novel and have nationwide impact; every other project goes in the Standard Track.
The deadlines are two months apart, so a student can enter the Congressional App Challenge in October and then turn to an SI project for December. The Presidential rules require original work created after August 1, 2026, so plan a separate project rather than reusing the app.
Our Congressional App Challenge guide walks through that rulebook in detail, and the Presidential AI Challenge guide covers the SI Challenge, renamed on 29 September 2026.
Sources: Congressional App Challenge rules and 2026 rulebook; Presidential SI Challenge eligibility, requirements and home pages; read 17 October 2026.
Try one
This problem is ours, written for this page, not taken from any contest. It shows the single idea that separates a passing solution from one that times out.
The reading log. A student logged the pages read on each of N days. You are then asked Q questions, each giving two days a and b, and you must print the total pages read from day a to day b inclusive. N and Q can each be as large as 100,000. Input: N and Q on the first line, the N page counts on the second, then Q lines of a and b.
import sys
def main():
data = sys.stdin.read().split()
n, q = int(data[0]), int(data[1])
pages = [int(x) for x in data[2:2 + n]]
# prefix[i] = pages read on days 1..i, so prefix[0] = 0
prefix = [0] * (n + 1)
for i in range(n):
prefix[i + 1] = prefix[i] + pages[i]
out = []
pos = 2 + n
for _ in range(q):
a, b = int(data[pos]), int(data[pos + 1])
pos += 2
out.append(prefix[b] - prefix[a - 1])
print("\n".join(map(str, out)))
main()
# Sample input: Sample output:
# 5 2 6
# 3 1 4 1 5 14
# 2 4
# 1 5Days 2 to 4 are 1 + 4 + 1 = 6 pages; days 1 to 5 are 3 + 1 + 4 + 1 + 5 = 14 pages.
| Approach | Work per question | Total steps when N = Q = 100,000 | Verdict |
|---|---|---|---|
| Add up the days for every question | Up to N additions | 100,000 x 100,000 = 10,000,000,000 | Far too slow for a 4-second limit |
| Build prefix sums once, subtract per question | One subtraction | About 100,000 + 100,000 = 200,000 | Comfortably fast, even in Python |
Before writing a line, multiply the input sizes. If the answer is in the billions, the plan needs to change. Our rough rule of thumb in class is that plain Python manages somewhere in the tens of millions of simple steps per second, so ten billion is hopeless.
Prefix sums, sorting first, and counting with a dictionary are the three tricks that rescue most early contest problems.
Change the question to the most pages read on any single day between a and b. Prefix sums no longer work; why not?
Change it to the number of days between a and b with at least 10 pages. Can you build a prefix count instead of a prefix sum?
A season plan
Our plan for a student who wants one individual contest and one team or build event. It uses the published 2026-27 dates where they exist and marks the gaps.
| Month | Contest dates | What the student works on |
|---|---|---|
| October 2026 | ACSL Contest #1 opens Oct 19; CyberPatriot Round 1 Oct 22 to 25; Congressional App Challenge due Oct 26 | Finish and submit the app; first ACSL short answer drills |
| November 2026 | CyberPatriot Round 2 Nov 12 to 15 | Prefix sums, sorting and simulation problems |
| December 2026 | CyberPatriot State Round Dec 10 to 13; SI Challenge registration Dec 18 and project Dec 23; ACSL registration deadline Dec 31 | An SI project if entering; timed USACO-style practice |
| January 2027 | ACSL Contest #1 closes Jan 10; ACSL #2 opens Jan 4; USA-NA-AIO registration closes Jan 31 | Winter USACO contests are expected, dates to confirm on usaco.org |
| February 2027 | USA-NA-AIO Round 1 Feb 19; ACSL #2 closes Feb 28 | Graphs and recursion for anyone moving up a USACO division |
| March to May 2027 | CyberPatriot National Finals Mar 12 to 16; ACSL #3 and #4; ACSL Finals May 29 | Review every contest done this year and rewrite two weak solutions |
| Summer 2027 | Off season for most contests | One bigger project and a fresh look at the 2027-28 rulebooks |
Start with ACSL Intermediate or USACO bronze in Python. One team event is plenty.
Move to C++ or Java if aiming past bronze, and add a security or build event.
Fall deadlines matter most; enter early-season events and keep spring for review.
Where students start
Every would-be competitor sits somewhere on this ladder.
| Step | Signs a student is here |
|---|---|
| 1. Coder | Writes small programs with loops and lists, but not to a time limit |
| 2. Solver | Solves easy contest problems with enough time and a few hints |
| 3. Estimator | Checks the input size first and picks an approach that will run in time |
| 4. Competitor | Solves under a clock, tests edge cases, and reviews every contest afterwards |
The jump from stage 2 to stage 3 is usually the hardest one, and it is a thinking habit, not a new language.
Ask your teen what the input size was in their last problem. If they do not know, that is the habit to build.
Keep a notebook of every problem you could not solve and the idea that unlocked it.
Read the official rules for each event yourself; they are short and they change every season.
The catalogue
Each is taught live by one teacher who stays with the group, or privately for a single student.
COM / ALG / 01
Contest problems, timed.
Open the syllabusCOM / ALG / 02
The data structures contests use.
Open the syllabusCOM / ALG / 03
The usual language past bronze.
Open the syllabusCOM / SEC / 01
Flags, images and networking.
Open the syllabusCOM / SEC / 02
Models you can explain.
Open the syllabusCOM / SEC / 03
The language under all three.
Open the syllabusCOM / BLD / 01
An app judges can open.
Open the syllabusCOM / BLD / 02
For USACO and ACSL in Java.
Open the syllabusCOM / BLD / 03
Java and the AP exam together.
Open the syllabusHow lessons run
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekdays
After-school batches in US time zones.
Weekends
Useful in the weeks before a contest window opens.
1-on-1
Timed around one student’s contest calendar.
Every unsolved problem gets a written idea.
Mock contests with the real time limits.
Practice runs the way the strict contests do.
ACSL topics in short weekly sets.
Online, from any US time zone.
Fifteen to twenty in a batch, or one student.
Student work
Programs and apps by our learners, many started as practice for a contest. 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
USACO and CyLab Security Academy cost nothing to enter; what families pay us for is the teaching and the practice. Fees are monthly, in US dollars, with no contract for the season, so a student can join before a contest window and pause after it.
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
What parents wrote on Google, word for word.
★★★★★
"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 families
For 2026-27 the main ones are USACO, ACSL, CyberPatriot, picoCTF (now part of CyLab Security Academy), the Congressional App Challenge, the Presidential SI Challenge, the USA-NA-AIO and the FIRST robotics programs. Each has its own eligibility and calendar.
A student who can write basic Python can start USACO in the bronze division or ACSL in the Intermediate Division, which ACSL describes as suited to high schoolers with little or no programming experience.
Yes. The USACO rules page says there is never any fee for participation, and anyone can take the online contests.
It depends on the event. USACO prohibits generative AI during contests. The Congressional App Challenge allows AI if all use is disclosed. The Presidential SI Challenge is about applying SI, with accuracy checks. Always read the current rules.
ACSL Contest #1 opens on October 19, 2026 and closes on January 10, 2027. Team registration by an advisor closes on December 31, 2026, and the online Finals are on May 29, 2027.
For CyberPatriot 19, teams had to be created by October 1, 2026 and rosters finalised by October 21, 2026, so a student without a team should plan for the next season and use the training materials now.
Python is fine for USACO bronze and for ACSL. USACO notes that C++ is the only language supported at the IOI, so students aiming for the top divisions usually move to C++ or Java.
Yes, under a new name. The official site now calls it the Presidential SI Challenge. For 2026-27, high school teams sign up by December 18, 2026, and their projects are due five days later, on December 23, 2026.
Colleges decide for themselves how they weigh any activity, so we make no promises. What a competition reliably gives is practice under a deadline and real problems to talk about.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
No. Modern Age Coders is an independent online school. We teach the skills these contests test, and we read each organiser's published rules so our students know what to expect.
Elsewhere on this site
Deeper guides to single competitions and the skills behind them.
Bronze to platinum, division by division.
The 2026 rulebook, read in full.
Weekend build events for teens.
Short answer topics and the 72-hour problem.
Images, scoring and team roles.
First flags, step by step.
The app and AI challenge for girls.
Every page we have for US families.
Middle school coding competitions for 2026-27, grade by grade.
ML and AI competitions for US high schoolers, 2026-27, from the official rules.
Middle school math competitions for 2026-27, compared round by round.
Start here
Tell us which contest is next on the calendar. In the first lesson the teacher works through one problem with your teen and suggests where to begin.
Want to see our approach first? How we teach explains the lesson structure, and the course list has every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Teachers work from India over live video, so there is nowhere to visit in person. A WhatsApp message usually gets the quickest reply.
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