USACO is one of the best-known programming competitions for high school students interested in computer science and other STEM fields, and many students planning a computing-related major include it in their competition plans. This article breaks down what the competition actually involves: its divisions, schedule, format, supported languages, and where it fits into a college application.
Competition Basics: What Is USACO?
USACO stands for the USA Computing Olympiad. It runs a series of online contests during the season and is open to students worldwide, with no strict grade requirements. Anyone can register for a free account and take part in the online contests and training. Note that only pre-college students in the USA are eligible for the training camp and for the teams that represent the USA at the International Olympiad in Informatics (IOI) and the European Girls’ Olympiad in Informatics (EGOI).
01 Division Structure: Four Tiers for Progressive Advancement
The competition uses a tiered structure with four divisions: Bronze, Silver, Gold, and Platinum. Difficulty increases at each level. All new participants start in Bronze and move up one division at a time by scoring above the promotion cutoff on a contest; a perfect score can earn immediate promotion within the same contest window. Cutoffs are set per contest rather than fixed in advance.
- Bronze Division: The entry level. It assumes basic programming knowledge and focuses on simple logic and algorithm implementation such as simulation, sorting, and brute force. It is the natural starting point for newcomers.
- Silver Division: Introduces common algorithms and simple data structures — for example greedy methods, binary search, prefix sums, and basic graph traversal (DFS).
- Gold Division: Problems become more involved, drawing on dynamic programming, graph theory and shortest paths, and more efficient data structures such as union-find.
- Platinum Division: The top division. There is no fixed syllabus and no ceiling on difficulty; problems reward advanced modeling and algorithmic creativity, often using tools like segment trees and advanced dynamic programming. It approaches the level of the international olympiad.
Promotion policy can change between seasons. For the 2025-26 season, for example, competitors who had reached Platinum started the season back in Gold.
02 Schedule & Format: Multiple Rounds Year-Round
In a typical season the calendar has three online contests plus the US Open, running from the start of the year into spring. Each contest opens for a multi-day window, and within that window you take the contest in one continuous sitting of about four to five hours. There are typically three problems, each graded out of 333.33 points for a maximum of 1000, with around ten test cases per problem. Participation is free.
USACO competition schedule (2025-26 season):
- Round 1: January 9–12, 2026
- Round 2: January 30–February 2, 2026
- Round 3: February 20–23, 2026
- US Open: March 28, 2026 (in person)
Two changes are worth noting for the 2025-26 season. The US Open moved to a proctored, in-person format at designated sites. And Gold and Platinum contestants who want a certified score must start on the Saturday the problems are released, at 12:00 ET, with roughly a 15-minute window to begin.
03 Target Audience & Supported Programming Languages
1. Suitable Participants
The online contests are open to students worldwide, with no strict grade limits, roughly from upper-elementary age through high school. USACO tends to suit students who plan to study computer science, artificial intelligence, or a related field; students who want a STEM competition on their record; and beginners who want to learn programming and build logical, analytical thinking.
2. Main Programming Languages
The contest officially supports C, C++, Java, and Python. Python’s straightforward syntax makes it a good choice for beginners, and every Bronze problem is intended to be fully solvable in Python. On harder problems in the higher divisions, Python can be too slow to pass every test case within the time limit, so C++ is the usual choice as students move up — it is also the only language used at the IOI.
Where USACO Fits in a College Application
01 Builds Real Technical Skills
Preparing for and competing in USACO develops logical reasoning, algorithmic problem-solving, and hands-on coding. These are the same skills that university computer science courses draw on, so the work students put in maps directly onto college-level coursework.
02 A Recognized Computing Competition
USACO is a well-established competition in the computing community, and it is how the USA selects its team for the IOI. As one concrete example of how it is viewed in admissions, MIT Admissions’ blog lists USACO as the US qualifying competition for the International Olympiad in Informatics. A strong USACO result — particularly reaching Gold or Platinum — can be a meaningful part of a computing-focused application, though it is one element among many rather than a guarantee of any outcome.
03 Access to Further Opportunities
A solid competition record can also support applications to selective STEM programs and summer courses, where evidence of sustained interest and ability in computing is valued.
Free USACO preparation materials
Scan the QR code below for practice sets, study guides, and past problems to help you get started.