Why This Class?
Learning USACO can be hard. But it doesn't have to be.
If you're struggling to get started with USACO, you've come to the right place. Our team of past USACO Finalists have created a well-structured course that will teach you all the major topics of Bronze in a clear and organized fashion.
Every problem comes with a video solution where an instructor walks you through how to solve the problem.
Learning Management System
Our hand-crafted Learning Management System comes with a leaderboard to incentivize friendly competition!
Our curriculum-writing team is comprised of multiple USACO Finalists with extensive competitive experience.
Free of Charge
This course is completely free! Anyone is able to access the resources and curriculum within the self-study courses.
Integrated with the USACO Guide
Each lesson has a corresponding module from the USACO Guide, where you can review a concept or find additional practice.
We'll keep updating our course based on your feedback to make it even better! You'll get lifetime updates, free of charge.
Embracing the video format.
This course isn't just a series of recorded live classes. Every video in this course is designed to be used in a self-study environment, taking full advantage of our custom online learning platform.
This eight-week program is designed to teach you the major concepts in the Bronze division of USACO.
Each week, we'll introduce one topic in Bronze, and we'll provide a series of curated problems related to that topic in incremental difficulty. Every problem will come with video and code solutions in C++ and Java (Python coming soon). You'll get access to all 8 weeks of curriculum at once.
- Time Complexity and Rectangle Geometry
- Data Structures and Simulation
- Basic Complete Search
- Complete Search with Recursion
- Sorting, Sets, and Maps
- Ad Hoc Problems
- Greedy Algorithms
- Introduction to Graphs
This class is targeted to people who are familiar with the basics of programming (ie. for loops, etc), but are new to USACO. This class teaches you the major concepts needed for Bronze. If you are already familiar with Bronze concepts, this class will likely be too easy for you.
Additionally, this class is heavily video-based. If you learn better through text, you may want to use the USACO Guide instead.
Both C++ and Java have first-class support. Python is also supported, but we're still working on adding Python videos to some sections.
These classes are not for profit -- instructors are unpaid and volunteer their time to help USACO contestants. That's why we've chosen to make these classes free, and open to everyone. If you want to support us, you can make a donation via PayPal instead.
How is this different from the Guide?
These classes follow the Guide curriculum, but are video-based rather than text-based. We also selected a subset of the most important Guide problems rather than using all of them.
How do I promote from Bronze to Silver?
First, you should take this course so you know all the major Bronze concepts. Then, you'll need to practice with old USACO problems (or USACO Guide problems). The goal of taking this course is to make you able to attempt Bronze problems and understand editorials when you get stuck.
If you already know all the Bronze concepts, this class may be too easy for you.
The content of this course is extremely similar to the USACO Guide. The difference is that this course is video-based rather than text-based. If you're learning fine with the USACO Guide, there is no need to take this class.
Meet our instructors
With a curriculum designed by past USACO Finalists and thoroughly vetted instructors, students are in good hands.
Lead Instructor / Finalist
Lead Instructor / Finalist
Instructor / Finalist
Instructor / USACO Coach
Instructor / USA EGOI Team