New classes are starting soon! Enroll today!

Need Help?

Need help finding the right class? Have a question about how classes work?

Click here to Ask AoPS!

USACO Bronze Comprehensive Training

This course is a thorough exploration of algorithms and techniques that frequently appear in the USA Computing Olympiad at the Bronze level. By the end of the course, students will be comfortable applying strategies such as binary search, prefix sums, sliding windows, and greedy algorithms, and using data structures such as arrays, maps, and sets. The comprehensive content coverage and the dozens of unique practice problems provided help students master Bronze level problems as they work to advance to USACO Silver.

12 weeks

Diagnostics

ARE YOU READY?
12 weeks ARE YOU READY?  

Schedule

Sunday
Jan 4 - Mar 22
7:30 - 9:00
PM ET
Jan 4 - Mar 22
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$455 (~$38/lesson)
$455 (~$38/lesson)
CLOSED
Wednesday
Apr 8 - Jun 24
7:30 - 9:00
PM ET
Apr 8 - Jun 24
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$455 (~$38/lesson)
$455 (~$38/lesson)
ENROLL
Sunday
Jun 21 - Sep 20
7:30 - 9:00
PM ET
Jun 21 - Sep 20
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$455 (~$38/lesson)
$455 (~$38/lesson)
ENROLL
Tuesday
Sep 1 - Nov 17
7:30 - 9:00
PM ET
Sep 1 - Nov 17
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$455 (~$38/lesson)
$455 (~$38/lesson)
ENROLL
Wednesday
Sep 23 - Dec 16
7:30 - 9:00
PM ET
Sep 23 - Dec 16
7:30 - 9:00 PM Eastern
6:30 - 8:00 PM Central
5:30 - 7:00 PM Mountain
4:30 - 6:00 PM Pacific
Click here to see more time zones
$455 (~$38/lesson)
$455 (~$38/lesson)
ENROLL

AoPS Holidays

There are no classes May 23 ‐ 25, July 3 ‐ 5, September 5 ‐ 7, October 31, November 23 ‐ 29, December 21 ‐ January 3, and February 13 - 15 2027.

Who Should Take?

There are three items to consider when signing up for the USACO Bronze Comprehensive Training:

  • Language knowledge: Students should already be comfortable enough with C++, Java, or Python to write simple programs using basic concepts like arrays, maps/sets, if statements, and for loops. Our Introduction to Python course, for example, is sufficient preparation. Note that either Java or Python is viable for the USACO Bronze and Silver levels, but C++ is the assumed default language of competitive programming, and Python is too slow to solve many problems at the Gold level and above. It is fine to start your USACO journey in Python and pick up C++ later.
  • Competitive programming familiarity: This course is intended for students who have already tried solving at least one USACO Bronze problem, or a problem on another competitive programming platform such as Leetcode or Codeforces. Students should know how to read a problem statement, write a solution in their own preferred environment on their computer, submit the solution to the online judge, and interpret the judge's feedback. If you know a coding language but haven't tried a contest-style problem, you can satisfy this prerequisite with a few hours of exploring and experimenting.
  • Math background: Because computer science problems often boil down to math problems, the course also requires some algebraic fluency, as acquired in our Prealgebra course. For example, students should be able to solve a system of two linear equations and have a basic familiarity with functions.
If you are unsure, we recommend trying the diagnostic test above as a skills check.

Lessons

1 Simulation
2 Big-O and Complete Search
3 Further Complete Search
4 Sets and Maps, and Two Pointers
5 Precomputation, Prefix Sums, and Queries
6 Greedy Algorithms
7 Practice Contest 1 Review
8 Forced Decisions
9 Wrestling With The Unfamilar
10 Permutations and Puzzling Problems
11 Geometry
12 Intro to Binary Search

I loved this class and learned a lot! I was overjoyed to find a class that challenged me so much but was still manageable!