Need Help?

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

Click here to Ask AoPS!

USACO Silver Comprehensive Training

This course deepens our students’ competitive programming and problem-solving knowledge and gives them the tools they need to succeed in the Silver level of the USA Computing Olympiad. Major focus topics include binary search, data structures (e.g., priority queues), recursion (especially on trees), and graph search algorithms. This material is not only important in competitive programming, but very useful in computer science and programming in general!

16 weeks

Diagnostics

ARE YOU READY?
16 weeks ARE YOU READY?  

Schedule

Wed & Thurs
Jan 27 - May 12
7:30 - 9:00
PM ET
Jan 27 - May 12
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
$595 (~$38/lesson)
$595 (~$38/lesson)
ENROLL
Summer 2027This course will be offered in Summer 2027. Click here to join our mailing list to be notified when the course schedule is available.

AoPS Holidays

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

Who Should Take?

We expect USACO Silver students to have taken our USACO Bronze class, or to already be at the Silver level or close to advancing from the Bronze level (i.e., scoring 500+ in timed contests). If you have not yet competed in USACO, this course is only suitable if you have prior experience in competitive programming and algorithmic problem-solving and you feel comfortable solving USACO Bronze problems from recent years.

Students should also be comfortable coding in at least one of C++, Java, and Python. Although many Silver problems are fully solvable in Python, C++ provides a significant advantage starting at this level, and is all but required for success at the Gold level. Although our course does not include C++ lessons per se, it encourages the use and engagement of C++.

Many contest problems are quite mathematical, so students should have at least a prealgebra level of math experience. Algebra is recommended as a pre- or co-requisite.

Lessons

1 Welcome to Silver
2 Binary Search I: The Technique
3 Binary Search II: Advanced Applications
4 Data Structures I: Stacks, Queues, and Linked Lists
5 Data Structures II: Deques, Heaps, and Priority Queues
6 Recursion and Trees I: Per-moo-tations and Basic Recursion
7 Recursion and Trees II: Me-moo-ization and Advanced Recursion
8 Recursion and Trees III: Rooted Binary Trees
9 Recursion and Trees IV: General Trees
10 Recursion and Trees V: Divide, Recurse, and Conquer
11 Graphs I: Depth-First Search and Backtracking
12 Graphs II: Breadth-First Search and Dijkstra's Algorithm
13 Graphs III: Directed and Functional Graphs
14 Miscellaneous Tools I: Bitwise Operations, Strings, and Tries
15 Miscellaneous Tools II: Combinatorics and Number Theory
16 Miscellaneous Tools III: Assorted Tricks For The Toolbox

This was the best math course I have ever taken. I have always been very strong in math and have taken many challenging courses. Intermediate Algebra challenged me at a greater level. Writing problems are the main way that Intermediate Algebra challenged me at a new level. If I had not taken this course, I never would have known the complex proof methods I have learned. The writing problems have also made me more prepared to succeed at contests like the Mandelbrot Competition and the USAMO, as I have learned proof-writing strategies. I always like to know a lot about topics, especially topics that I have a passion for, like math. Intermediate Algebra fulfilled that desire. This was also a great help for preparing for contests like the AMC 12. All in all, this was an excellent course.