Need Help?
Need help finding the right class? Have a question about how classes work?
USACO Bronze Problem SeriesThis 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 DiagnosticsARE 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 |
Ray Bai | $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 |
Asa Frank | $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 |
Jeffery Yu | $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 |
TBA | $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 |
Justin Stevens | $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.
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 |