Compete

Coding

USACO

USA Computing Olympiad

Free, worldwide algorithmic contests on a four-division ladder, and the route to Team USA at the IOI.

Run by USA Computing Olympiad

Key facts

Eligible grades
Pre-college students
USACO does not publish a grade range. The online contests are open to anyone with a free account. Training camp and USA team selection for the IOI are limited to US pre-college students.
Source, checked 2026-09-01
Official divisions
Four divisions by demonstrated skill rather than age: Bronze, Silver, Gold and Platinum. Everyone starts in Bronze, which assumes only basic programming, and is promoted by performance. Your division, not your grade, sets the difficulty you face.
Based on the organiser's own divisions.
Eligible ages
Not confirmed. This organiser may set eligibility by grade rather than age. We do not convert one into the other.
USACO publishes no age limits for the online contests.
Individual or team
Individual
Where it runs
Online · International
Entry cost
FreeUSACO states participation is free and open to all. A free usaco.org account is the only requirement.
Registration deadline
Set locally, not published as a single national date There is no registration deadline. You create an account and compete within any contest window. The binding constraint is the contest window itself, and the 2026-27 windows have not been published.
Competition dates
2026-27 dates have not yet been published by USACO. For reference only, the 2025-26 season ran online contests on 9 to 12 January, 30 January to 2 February and 20 to 23 February, with the US Open on 28 March. Do not plan around those dates: USACO changed its structure in 2025-26, dropping the December contest that older guides still describe, and making the US Open a proctored in-person invitational whose results are the primary basis for training camp invitations.
Difficulty
CompetitiveSerious preparation over a season. Advancing past the first round separates prepared students from unprepared ones.
Prizes
Promotion, finalist status and IOI team selectionNo cash prizes. The pathway leads to a training camp and selection for the US team at the International Olympiad in Informatics.

What USACO is

USACO runs a season of algorithmic programming contests in four divisions: Bronze, Silver, Gold and Platinum. You are given a small set of problems, you write programs that solve them, and an automated grader scores your submissions out of 1000 against hidden test cases. It is free, open to students anywhere in the world with only a free account, and it is the single most recognised programming credential a pre-college student can hold.

How the competition works

Web-based algorithmic programming contests during the academic year, usually four in total from December through early spring. A normal contest runs four continuous hours; the US Open runs five. You may schedule that block anywhere within a Friday-to-Monday contest weekend, and your timer starts when you log in and download the problems. The final contest, the US Open, carries more weight and serves as the national championship exam.

Eligibility notes

The online contests are open to anyone from any country at no cost. Training camp and selection for the USA IOI team are limited to US pre-college students.

Is USACO right for you?

Experience needed
You must already program. Bronze assumes you can write loops, arrays and functions unaided.
Time commitment
Months. Promotion through divisions is measured in seasons, not weeks.
What you actually do
A four-hour window you start when you choose, three problems, solutions judged automatically against hidden test cases. You get instant feedback and no partial credit for elegant code that fails a case.

A good fit if

  • You already code and want a rigorous ladder
  • You want something completely free and open worldwide
  • You are willing to study algorithms systematically

Probably not for you if

  • Complete beginners, who should learn a language first
  • Students who want a team or project format

Compare this against competitions matched to you

Common mistakes

  • Learning algorithms without solving problems. USACO rewards implementation speed, not theory.
  • Ignoring the certified-score rule: Gold and Platinum promotion requires starting at the published time.
  • Skipping the official training pages in favour of random practice sites.

How to register

  1. Create a free account at usaco.org. That is the entire registration process.
  2. Read the rules page before your first contest. Generative AI and pre-written templates are banned and violations carry a lifetime ban from all USACO activities.
  3. Practise on the free archive of past problems first so the submission system is familiar.
  4. During a contest window, click through from the homepage and start when you are ready. Your timer starts the moment you open the problems.
  5. For Gold and Platinum, start at 12:00 ET on the Saturday if you want a certified score.

Register on the official site

What skills you need

  • C++, Java or Python
  • Sorting and searching
  • Graph algorithms
  • Dynamic programming
  • Complexity analysis
  • Debugging under time pressure

How to prepare

USACO is the most learnable competition in this directory because the syllabus per division is small, explicit and unchanging, and every past problem is published with an official analysis. Bronze needs careful implementation and complete search. Silver needs a handful of named techniques. The gap between divisions is content you can name and study, not talent.

What to study

Bronze
Simulation, sorting, complete search and brute force, ad hoc implementation. No advanced algorithms. Most Bronze failures are implementation bugs, not missing knowledge.
Silver
Binary search, prefix sums, two pointers, depth-first search and flood fill, greedy algorithms, sorting with custom comparators.
Gold
Dynamic programming in several flavours, shortest paths, union-find, trees, and efficient data structures.
Platinum
Segment trees, advanced dynamic programming, heavy graph theory, computational geometry, and problem-specific invention.
Implementation discipline
Reading input formats exactly, avoiding integer overflow, and writing code you can debug in the last hour. This is worth more points at Bronze and Silver than any algorithm.

Full preparation guide, including a week-by-week plan

Recommended resources

  • USACO official site and problem archive Official · free

    Registration, rules, the season schedule, and years of past problems with official analyses and a live judge.

  • USACO Guide Course · free

    A free, community-built curriculum organised by division, with ordered modules and practice problems. The standard starting point.

  • USACO training pages Course · free

    The original official training programme. Older in style but still the recommended first pass through the fundamentals.

  • Codeforces Practice platform · free

    Frequent short contests. Useful for volume once you are past Bronze, though the problem style differs from USACO.

  • Competitive Programmer's Handbook by Antti Laaksonen Book · free

    Free PDF covering the full Silver to Platinum algorithm syllabus clearly and concisely.

Past problems and materials

Only materials the organiser or an authorised archive publishes openly are listed here.

Helpful videos

  • William Lin, competitive programmingWilliam Lin

    Screencasts of contest solving by a former IOI medallist. Watching someone think in real time is the fastest way to learn contest pacing.

  • ErrichtoErrichto

    Algorithm lectures and contest analysis pitched at Silver through Platinum.

Frequently asked questions

Is USACO free?

Yes, completely. The online contests are free and open to students anywhere in the world; a free account on usaco.org is the only requirement. Only the training camp and USA IOI team selection are restricted to US pre-college students.

What language should I use?

C++ is the most common choice for speed and its standard library, but Java and Python are fully supported. Bronze and Silver problems are reliably solvable in Python; at Gold and Platinum the time limits start to favour C++.

How long does it take to reach Gold?

There is no fixed answer, but a student starting with solid programming ability and studying consistently commonly takes a season or two. Students who start in the off-season and work through the official training material in order progress considerably faster than those who begin in December.

Can I use AI tools to help during a contest?

No. Generative AI and pre-written templates are explicitly banned, you must work alone, and violations carry a lifetime ban from all USACO activities. Read the rules on usaco.org before your first contest.

Reviews, tips and resources from other students

Posts are public. Do not share your full name, school, address or contact details.

Your rating
0 / 1200
Sort

Something out of date?

If a deadline, fee or eligibility rule on this page no longer matches the official site, flag it and it goes into the review queue.

You might also look at

StructureDivisions by grade or level
  • FormatEither
  • WhereOnline
  • Check site
    Coding picoCTF A free capture-the-flag cybersecurity competition designed specifically for students with no security background.
    Check site
    Math CEMC Contests Canada's national contest ladder, from grade 7 puzzles to the Canadian Computing Olympiad.
    Check site