Need Help?

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

Click here to Ask AoPS!

USACO Bronze Problem Series

This course is an introduction to the USA Computing Olympiad at the Bronze level. By the end of the course, students will be comfortable applying strategies such as binary search, greedy algorithms, and using data structures such as arrays, maps, and sets. The course builds problem-solving skills and strategies that will be helpful along the rest of the USACO pathway: Silver (for which we are developing a class), Gold (the focus of CodeWOOT), Platinum, and even the IOI.

12 weeks

Diagnostics

ARE YOU READY?
12 weeks ARE YOU READY?  

Schedule

Wednesday
Sep 3 - Dec 3
7:30 - 9:00
PM ET
Sep 3 - Dec 3
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
$445 (~$38/lesson)
$445 (~$38/lesson)
CLOSED
Thursday
Oct 30 - Feb 5
7:30 - 9:00
PM ET
Oct 30 - Feb 5
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
$445 (~$38/lesson)
$445 (~$38/lesson)
ENROLL
Tuesday
Dec 2 - Mar 3
7:30 - 9:00
PM ET
Dec 2 - Mar 3
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
$445 (~$38/lesson)
$445 (~$38/lesson)
ENROLL
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
$445 (~$38/lesson)
$445 (~$38/lesson)
ENROLL
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
$445 (~$38/lesson)
$445 (~$38/lesson)
ENROLL

AoPS Holidays

There are no classes November 24 ‐ November 30, December 20 ‐ January 2, May 23 ‐ 25, July 3 ‐ 5, September 5 ‐ 7, and October 31 2026.

Who Should Take?

There are three items to consider when signing up for the USACO Bronze Problem Series:

  • 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 really enjoyed taking the MATHCOUNTS/AMC 8 Advanced course and I definitely learned a lot. I was taught skills/tricks that could apply to several problems and therefore help me in math contests, rather than being told how to solve a specific problem only. I liked how there were several assistant teachers as well who answered my questions if I wasn't able to follow the class for a particular problem.