What is USA Computing Olympiad?

The USA Computing Olympiad (USACO) is the most prestigious pre-college level Computer Science competitions in the USA. It is an online competition for individuals that is held four times a year; in December, January, February and at the end of March (or at the beginning of April) in general. The last contest is called US Open and it’s usually harder than the others. In each contest, USACO has the following four divisions such as Bronze, Silver, Gold and Platinum from beginner to advanced. Each division has it’s own problem set. Each year after the final USACO contest, finalists are selected from the top-performing Platinum division contestants. Then, the top four finalists are selected to represent USA in the International Olympiad in Informatics (IOI) which is the premier pre-college level Computer Science contest in the world.

For more details, please check USACO website including the contest schedule.



USACO Preparation


STEP 1: Programming

If you’re new to programming, you first need to learn a programming language. It can be either Python, C++ or Java in USACO. What is the difference? Please see the question in FAQ below.

AlphaStar offers each language in two sequential courses.


STEP 2: USACO Fundamentals

After learning a language, the next step is to start learning USACO topics and solve the related former USACO problems. Just solving random problems may be inefficient. Instead, a high quality curriculum where the scope of the topics and their sequence are tuned with respect to student learning is recommended. In that way, you can steadily improve your CS knowledge as well as your problem solving skills. Starting from the Bronze division, you will take the contests and be promoted to Silver division and so on by the time. With sufficient work, most of the students can get to the Gold division. However, in Gold and above, dedication and talent plays a big role in success.

AlpahaStar offers USACO courses in all four divisions. For details, please see AlphaStar CS Curriculum. You can use any of Python, C++ or Java in our USACO courses. See the FAQ for more details: “Which programming language do you use in your courses?


If you don’t know your level, you can start by taking
As soon as you finish the exam, your will see your score, you level and the recommended course(s).

STEP 3: USACO Practice

After learning the topics in a division, you may not be comfortable in your problem solving skills or want to practice more for the upcoming contests. In that case, it may be better to focus on solving former problems intensively in your division. Solving the problems by yourself is critical; looking at the solutions and implementing them will not help that much.

In AlphaStar fundamental courses, lessons and practice are provided together. In addition, for students who need more practice, AlphaStar offers Booster courses and Practice Exam courses.

Booster courses in each division that are only composed of last three years’ USACO problems and contest strategies.


See the FAQ for more details: “What is the difference between regular and booster courses?

Another thing you can do is to take USACO practice exams to simulate a contest environment and see your current status in terms of problem solving skills and performance under pressure.

Practice Exam courses are composed of four practice exams similar to one year of USACO. The last exam is harder than the previous ones as in USACO US Open. All the exam problems in the course are prepared by AlphaStar Academy faculty.


AlphaStar Bronze League is free continuous Bronze level practice exams for individuals who consider participating in USACO Bronze division or similar contests, or who are currently competing at USACO Bronze division.


STEP 4: USACO Contests

Taking the USACO contests as much as possible is important. The more you take the contests the more you will be experienced. After each contest, reviewing your solutions will help you learn from your mistakes. It will also be very helpful to check good solutions and to see how good competitors solve the problems.

After each USACO contest, contest solutions are published at AlphaStar USACO Training YouTube channel.

File:Logo of YouTube (2015-2017).svg


For more information about USACO Preparation



Most of the questions here are answered at the USACO website.

Which programming language shoud I learn?

Click for the short article.

When is the USACO Contests?

There are four contests typically in December, January, February and the last one is at the end of March or at the beginning of April. The schedule is generally announced around mid November. You can check the schedule on the top right side of the USACO website.

How do I register?

Just go to the USACO website and click on “Register for a new account” link on the top right side.

How do I take the contest?

Just login to your USACO account during the contest window provided in the schedule and you will see the contest announcement on the top side of the page. Follow the instructions.

What is the difference between the divisions?

  • Bronze division: is for contestants who know foundations of programming and have strong problem solving skills.
  • Silver division: is the division where the data structures and basics of algorithms are required.
  • Gold division: is for contestants who know main algorithms and some advanced data structures, and have strong math background.
  • Platinum division: requires knowledge of advanced data structures and algorithms. In this division, a problem usually requires using different algorithms with a few layers of optimizations. There are around 200 Platinum contestants each year nationally.

For more details and topics, you can check AlphaStar CS Curriculum page.

How many questions in a contest and how much time do I have?

Each USACO contest has a window starting on Friday morning till Monday night. A problem set in a contest is typically composed of 3 problems to be solved in 4 hours. It’s online. When you start the contest, you can’t stop the time; after 4 hours, the contest will be finished. You can take a break anytime you want; you don’t have to sit in front of the screen all the time.

How do I get promoted to the next division?

If you can pass the cut-off score, you will be automatically promoted to the next division and you will see your current division’s contest next time. The cut-off score is determined after the contest and posted on the website along with the results. You will see the announcement of the results on the top side of the main page typically on the Thursday after the contest window. Note that there is no promotion in Platinum contest.

What is the cut-off score for promotion?

It depends on the difficulty and the performance of the contestants. Typically it is around 750 but it can go down to 650 if the contest is too hard or up to 850 if it is too easy.

Do I have to take all four USACO contests in a year?

No. You can take whichever you want.

Does a low score in a contest affect the promotion in future contests?

No. Contests are independent from each other and there is no track record except the Platinum division. In Platinum division, the performance in that year is important for being selected as a USACO finalist.

Do I get demoted to a lower division if I get low score in a contest?

No. Contests are independent from each other; it will not affect the other ones.

Do I start at Bronze division in each year?

No. You continue at the division where you finished in the previous year.

Should I skip the contest if I’m not confident to be promoted?

It’s not recommended. You won’t lose anything if you get a low score as explained in the previous question. On the other hand, you will get more experience if you take the contest.

How are the USACO finalists and the USA team members are selected?

The finalists are selected based on their performances in that year. Each year around 25 students are selected as finalists to participate in the USACO National camps which is generally a nine-day camp at the end of may. There are typically two divisions around 12 or 13 students in each division; gurnseys as the inexperienced ones and holsteins as the experienced ones. Top performing contestants in Platinum division are selected as holsteins and remaining top perfoming younger contestants (no seniors) are selected as gurnseys. Gurnseys have lecture and gain more competition experience during the camp. In holsteins, there is a cap for senior students which is typically at most 5 each year. The team is selected among holsteins; the top four performing ones become the representatives of the USA team in the International Olympiad in Informatics that year.

Connect With Us