If you’re a high school student who is into algorithms and problem-solving, the USA Computing Olympiad (USACO) is the perfect challenge for you. You’ll work on timed programming problems that test your logic, efficiency, and coding precision while competing against the top programmers in the country. In addition, winning and making it to the finals is an excellent addition to your list of activities on your college application.
In this blog, we’ll cover everything you need to know about USACO: how the contests work, key dates, and registration details. You’ll also get practical tips to advance through divisions, prepare for the US Open Finals, and strengthen your applications.
- What is the USA Computing Olympiad (USACO)?
- USACO Awards and Prizes
- How to Qualify for the USA Computing Olympiad (USACO)
- How to Get into the USACO
- How to Win the USACO
- USACO Previous Winners
- Frequently Asked Questions
- Takeaways
What is USACO?
The USA Computing Olympiad is a premier programming contest for high school (and advanced middle school) students across the U.S. It runs multiple times each school year in an online format, challenging competitors in algorithm development, data structures, and problem-solving under time pressure.
Here’s an overview of what it is and how it works:
- Contests per year. Typically four, one each in December, January, February, and March
- Duration & format. Each contest typically lasts around 4 hours
- Problems. You’ll face 3 to 4 algorithmic problems in each contest.
- Divisions. You begin in Bronze and can move upward to Silver, Gold, and Platinum based on your contest results.
- Advancement & recognition. High achievers may receive invitations to the USACO Training Camp, where advanced instruction and selection of the U.S. IOI team take place.
USACO is your gateway to serious competitive programming. Unlike other programming competitions that gather students in one place, USACO contests are held online. This means you can compete from anywhere, at home or in school, while still sharing the stage with some of the brightest young coders across the country. The program is managed through the official USACO website and overseen by dedicated organizers.
Everything You Need to Know About the USACO Training Camp
The USACO Training Camp is an invite-only summer program for the most outstanding USACO competitors. It takes place after the contest season and serves as both an intensive learning experience and the selection ground for the team that will represent the United States at the International Olympiad in Informatics (IOI).
Here are the essential details:
- When it happens. Typically held in late May to early June. For 2025, the camp is scheduled for May 22–31.
- Location. Hosted in the United States. Venue details vary year to year, and students are notified directly.
- Eligibility. Only the top-scoring Platinum contestants from the US Open and earlier contests are invited.
- Cost. There is no cost to attend for invited students since travel and lodging are typically covered by USACO.
- Format. The camp includes lectures, problem-solving sessions, mock contests, and team-building activities.
The USACO training camp is designed for top competitors to reach the next level. It provides advanced instruction in algorithms, data structures, and high-level problem-solving, while placing you in simulated contest environments that mirror international competitions. The camp also serves as the selection ground for the official U.S. teams that go on to represent the country at the International Olympiad in Informatics (IOI) and the European Girls’ Olympiad in Informatics (EGOI).
USACO Awards and Recognition
The USA Computing Olympiad (USACO) recognizes the nation’s top young programmers—students like you who use logic, algorithms, and creativity to solve challenging computational problems. Each year, USACO honors excellence in programming across four divisions: Bronze, Silver, Gold, and Platinum, with promotions and special distinctions for high-performing participants.
Here are the awards and honors presented each year:
| Award Category | Description |
| Division promotions | The most common recognition in USACO. After each monthly contest, top-scoring participants advance to the next division. |
| Top scorer recognition | Outstanding performers in each division receive national recognition on the USACO leaderboard. These students are often highlighted for their accuracy, efficiency, and elegant algorithmic design. |
| US Open Championship | The final contest of the year, the US Open, brings together the top competitors from all divisions. Results from this round help determine who qualifies for the USACO Training Camp. |
| USACO National Training Camp | The most prestigious honor, reserved for the top 24 competitors across all divisions. Camp participants receive advanced algorithmic training, compete in additional contests, and are considered for selection to represent the United States at the IOI. |
| International representation | From the National Training Camp, four students are selected to join Team USA and compete at the IOI—the highest level of recognition in high school competitive programming. |
USACO celebrates problem-solving, persistence, and creativity, and every level of achievement reflects your growth as a programmer and your dedication to mastering the art of algorithms.
How to Qualify for the USA Computing Olympiad (USACO)
To reach the USACO Finals, you’ll need to compete in a series of online contests held throughout the school year. Everyone starts in the Bronze division, and strong performance can advance you to Silver, Gold, and ultimately Platinum.
But before you aim for the finals, here’s who can participate and under what conditions:
Eligibility
To participate, you must meet the following:
- Open Participation. Any student worldwide may enter USACO contests through the official website.
- Finalist Consideration. To be eligible for USACO Finals recognition (such as the US Open, Training Camp invites, and IOI selection), you must be a pre-college student in the United States (grades 9–12 or equivalent).
- International Students. Students outside the U.S. may compete for practice and ranking but are not eligible to represent the U.S. in international Olympiads.
- Divisions. All new contestants begin in Bronze and can advance to Silver, Gold, and Platinum based on performance.
Required Documents
Take note of the following before you register:
- For regular contests. No paperwork is required; you simply register and participate online.
- For finalists (US Open / Training Camp). Students selected for higher recognition may be asked to provide proof of U.S. residency/student status.
- For IOI/EGOI consideration. Additional forms and permissions (such as travel consent for minors) are coordinated directly with invited students.
Contest Fees
USACO is completely free to enter for all contestants. For those who advance to Training Camp or international competitions, travel and lodging are generally covered or sponsored. Families may only need to account for incidental personal expenses.
Registration Deadline
Each year, USACO follows a structured calendar that includes four main online contests, followed by an elite training camp for top performers. Below is the 2024–2025 schedule with events and their timelines as shown on their official website:
| Date | Event | Description |
| Dec 13–16, 2024 | First Contest | The season kicks off with the first round of online contests. |
| Jan 24–27, 2025 | Second Contest | Another chance to advance divisions and test algorithm skills. |
| Feb 21–24, 2025 | Third Contest | Final regular contest before the US Open. |
| Mar 21–24, 2025 | US Open | The culminating contest of the year; a gateway to the Training Camp. |
| May 22–31, 2025 | USACO Training Camp | Intensive training for top U.S. participants; team selection for IOI/EGOI. |
| Jul 14–20, 2025 | European Girls’ Olympiad in Informatics (EGOI), Germany | International contest for female programmers representing the U.S. |
| Jul 27–Aug 3, 2025 | International Olympiad in Informatics (IOI), Bolivia | Global competition where the U.S. team competes against the world’s best. |
U.S. participants in the Gold and Platinum divisions must begin contests on Saturday at 12:00 PM ET, when problems are officially released. This ensures they receive certified scores.
How to Get into the USA Computing Olympiad (USACO)
Getting into the USA Computing Olympiad (USACO) is straightforward. Here’s the process in clear steps so you can plan and stay on track.
1. Understand the rules.
Timeline: Before your first contest
Before joining the competition, make sure to read the official USACO instructions carefully. All new participants begin in the Bronze division, where they get a feel for the contest format and problem style. As you improve and meet the promotion cutoffs, you’ll advance to higher divisions and face more challenging problems along the way.
Be sure to also familiarize yourself with the important dates to help you stay prepared and perform your best throughout the season.
2. Register online.
Timeline: Before the first contest (December)
To join the USACO, start by creating a free account on usaco.org. Registration doesn’t cost anything, but it’s required before you can participate. Make sure to complete your registration before the contest window opens, so you’re ready to log in and compete when the round begins.
3. Compete in the online contests.
Timeline: December, January, February, March
Each USACO contest runs for about 4 to 5 hours and includes 3 to 4 programming problems that test your logic and coding skills. All contests are held online, so you can compete from home. Your score determines whether you advance through the divisions, starting from Bronze, then moving up to Silver, Gold, and finally Platinum.
4. Aim for the US Open (Finals).
Timeline: March
The US Open is the final and most difficult contest in the USACO season. It challenges participants with complex, multi-step problems that test both coding skill and problem-solving strategy. Performance in this round is especially important since your results here help determine invitations to the prestigious USACO Training Camp, where the nation’s best young programmers train and compete for a spot on Team USA for the IOI.
5. Watch for invitations.
Timeline: Late March–April
Top performers in the Platinum division are invited to the USACO Training Camp, where they receive advanced coaching in algorithms and competitive programming. From there, a select few earn the honor of representing the United States at international competitions such as the IOI or the EGOI.
How to Win the USACO
Winning at USACO doesn’t happen overnight. It takes building strong problem-solving habits, practicing consistently, and approaching contests with the right strategies. Here are practical steps you can follow to maximize your performance:
1. Master the fundamentals.
Before diving into advanced algorithms, make sure you’re solid on the basics: loops, arrays, strings, recursion, and complexity analysis. A strong foundation helps you avoid wasting time on implementation issues during contests.
It’s also important to know the technical rules for your chosen language:
- C/C++. Compiled with gcc/g++ 7.5.0, using -O2 optimization, -lm for math, and standards C++11 or C++17. Ints are 32-bit; use long long for 64-bit integers with %lld for I/O.
- Java. Submit one file with a single public class named after the file, containing public static void main. Other classes must be non-public, and no package line is allowed.
- Python. Versions 2.7.17 and 3.6.9 are supported. Python is slower, so while contests are designed to be accessible in lower divisions, higher levels may require switching to C++ or Java for efficiency.
- Pasca. No longer supported.
Knowing both your programming fundamentals and these language-specific details ensures that you can focus on solving problems, rather than struggling with setup or technical errors.
2. Build your algorithm toolkit.
Learn and practice common algorithms and data structures that frequently appear in USACO problems. This includes techniques like sorting and binary search for efficiency, greedy methods and prefix sums for optimization, and depth-first and breadth-first search for exploring data structures. You’ll also work with dynamic programming and graph algorithms, building the problem-solving toolkit needed to tackle higher-level contest questions.
Focus on applying them to varied problem types so you can recognize patterns quickly.
3. Time yourself realistically.
Each contest gives you 4 hours (5 hours for the US Open). When practicing, simulate contest conditions: no breaks, no outside help, and strict time management. This builds stamina and helps you learn when to move on from a problem.
4. Debug like a pro.
Bugs are inevitable. Train yourself to test with edge cases and small custom inputs. Learn how to read error messages quickly, print intermediate results, and spot logical flaws. Calm, systematic debugging saves huge amounts of time in contests.
5. Use training resources wisely.
The best way to improve is to practice regularly using structured materials. Here are key resources you should make part of your prep:
- USACO Training Pages. The official training gateway, with progressive lessons, practice problems, and solutions to build up your algorithmic skills step by step.
- USACO Resources Page. A curated list of helpful links, textbooks, and tutorials recommended by USACO itself.
- USACO Guide. A free, community-driven roadmap with topics organized by division (Bronze → Platinum)
- Competitive programming sites. Websites like Codeforces, AtCoder, and CSES Problem Set broaden your exposure to problem types beyond USACO.
- Study groups (local or online). Join peers who are also preparing. Explaining solutions to others is one of the fastest ways to deepen your own understanding.
Go through the USACO problem archive regularly. Start with older Bronze problems and work your way up. After solving, carefully read editorials and alternative solutions—this teaches you multiple ways of approaching the same problem.
6. Strategize during contests.
Skim all problems first to identify which to attempt. Then, start with the problem you feel most confident about.
Manage your time: don’t spend 3 hours stuck on a single problem.
Submitting early and often is ideal, especially since partial credit counts if you solve smaller test cases.
7. Stay consistent in training.
Don’t cram right before contests. Instead, dedicate steady weekly practice time (e.g., 3–5 problems a week). Progress at USACO is gradual; consistent effort keeps your skills sharp across the months of competition.
8. Learn from every contest.
After each contest, take time to review your performance. Look closely at what went well, identify which concepts or techniques you missed, and think through how you can avoid making the same mistakes in future problems. Document these takeaways in a “contest journal” so your progress compounds over time.
9. Balance stress and motivation.
USACO is tough. Not every contest will go your way, and that’s fine. Avoid burnout by mixing in fun coding projects, teaching others, or working on real-world applications of what you learn. Keeping coding enjoyable helps you stay motivated long-term.
USACO Previous Winners
Each season, thousands of students compete through online contests, progressing from the Bronze to the Platinum division. The top performers earn national recognition, training camp invitations, and the chance to represent the United States at the IOI.
Here are some of the top performers from recent USACO contests:
| Year | Contest | Division | Name | Score |
| 2025 | US Open | Platinum | Rain Jiang | 1000 |
| 2025 | US Open | Platinum | Julian Wu | 759 |
| 2025 | US Open | Gold | Mark Zhou | 1000 |
| 2025 | US Open | Gold | Sage Ding | 1000 |
| 2025 | February Contest | Gold | Jerry Yu | 1000 |
| 2025 | February Contest | Gold | Andrew Hao Li | 1000 |
Each year, the USACO continues to push the boundaries of competitive programming, nurturing the next generation of computer scientists and problem solvers who will shape the future of technology.
Frequently Asked Questions
1. Who can participate in USACO?
Anyone in the world can register and compete in the online contests. However, only U.S. pre-college students are eligible for official recognition, such as invitations to the USACO Training Camp or representing the U.S. at international Olympiads.
2. What happens if I do well in USACO contests?
Strong performance can move you up divisions. The best Platinum competitors are invited to the USACO Training Camp, where the U.S. IOI and EGOI teams are selected.
3. How are the contests structured?
Each contest lasts 4 hours (the US Open lasts 5 hours) and includes 3–4 problems. You start in Bronze and move up to higher divisions based on your scores.
4. Is USACO a prestigious series of competitions?
Yes, USACO is widely regarded as a prestigious high school computing competition in the United States because it serves as the official pathway to the International Olympiad in Informatics (IOI). Excelling in USACO, especially reaching the Platinum division or being invited to the USACO Training Camp, places students among the nation’s top young programmers and is highly valued by universities and the tech community.
5. What tier of extracurricular activity does winning at the USACO Finals belong to in terms of competitiveness and college admissions value?
Winning at the USACO Finals is considered a Tier 1 extracurricular activity in the context of college admissions, since it is a highly selective, nationally prestigious achievement that demonstrates exceptional skill in computer science and problem-solving. This level of recognition places a student among the very best in the country and carries significant weight with top universities.
Takeaways
- Competing in USACO shows that you can solve advanced algorithmic problems under pressure, a skill that stands out in academics and beyond.
- The USACO 2024–2025 season runs from December through March, with the US Open Finals taking place on March 21–24, 2025.
- Top Platinum contestants may be invited to the USACO Training Camp, where the U.S. team for the International Olympiad in Informatics (IOI) is selected.
- Successful competitors demonstrate strong coding skills, logical reasoning, and perseverance through challenging problems.
- A college admissions expert can help you look for more opportunities like the USACO to help you further improve your technical ability, problem-solving.
Eric Eng
About the author
Eric Eng, the Founder and CEO of AdmissionSight, graduated with a BA from Princeton University and has one of the highest track records in the industry of placing students into Ivy League schools and top 10 universities. He has been featured on the US News & World Report for his insights on college admissions.










