Fully Online!

USACO Classes

Learn USACO through affordable, high-quality classes with vetted, experienced instructors and a curriculum designed and developed by past USACO Finalists.

Due to high demand, we are unable to accept more students for the Spring semester. Join the mailing list to be notified for future class openings!

Premium Quality, Affordable Cost.

Affordable doesn't mean low-quality.

With a team of past USACO Finalists, we've created classes of the highest possible caliber that are just as competitive as more expensive alternatives.

While our instructors freely volunteer their time to help teach these classes, we ask that students donate $100 to help fund the infrastructure costs of creating these classes ($4.16/hr). Of course, if you're unable to pay, you'll get access to these classes for free.

Want to try out the class before donating? The first class is free -- you can choose whether to donate after attending the first class!

Course Info

Class Format

A CPI course consists of 12 weekly classes, each of which lasts 2 hours. Classes will go over challenging example problems and contain problemsets for homework.

Instructors will be able to answer any questions students may have during class. Students will have access to an exclusive Q&A forum to get help from instructors after class.

Classes follow a flipped learning model to maximize the amount of time students have to ask instructors questions. Our curriculum is modeled off the USACO Guide.

Seats are limited. First come first served, so make sure to sign up soon!

Class Schedule

  • Introductory Class - Fridays, 5:00-7:00pm Pacific Time. 1/8 to 3/26.
  • Intermediate Class - Wednesdays, 4:00-6:00pm Pacific Time. 1/6 to 3/24.


These classes are not for profit -- instructors are unpaid and volunteer their time to help USACO contestants. We recommend a $100 donation ($4.16/hour) to help support the creation of these classes and the infrastructure for the resources we provide such as the USACO Guide.

Financial aid is available. If you are unable to pay the full amount, just let us know!

Want to try out the class before donating? The first class is free -- you can choose whether to donate after attending the first class!

Programming Language

Both C++ and Java are acceptable for the class. While our class will primarily use Java, instructors are fully able to assist C++ users as well.

Class Levels

Pick your class.

Our classes come in two levels: One for beginner Bronze contestants and another for USACO Silver contestants.

USACO Bronze


Teaches the necessary techniques needed to pass USACO Bronze. For students with basic programming experience.

  • Fridays, 5-7pm Pacific Time. 1/8 to 3/26.

  • File / Fast I/O

  • Time Complexity

  • Data Structures

  • Simulation

  • Rectangle Geometry

  • Sorting Problems

  • Sets & Maps

  • Complete Search

  • Ad Hoc Problems

  • Greedy Algorithms

  • Graphs

USACO Silver


Teaches the necessary techniques needed to pass the USACO Silver contest. For students who already know Bronze-level concepts.

  • Wednesdays, 4-6pm Pacific Time. 1/6 to 3/24.

  • Binary Search on Sorted Array

  • Operations on Ordered Sets

  • Custom Comparators

  • Unordered Sets & Maps

  • Prefix Sums

  • Two Pointers

  • Binary Search on the Answer

  • Greedy Algorithms with Sorting

  • Depth First Search

  • Floodfill

  • Tree Algorithms

Financial Aid

If you aren't able to pay the full amount, don't worry. We've got you covered.

Meet our instructors

With a curriculum designed by past USACO Finalists and thoroughly vetted instructors, students are in good hands.

  • Daniel Guan

    Lead Instructor / Finalist

  • Alex Chen

    Instructor / Platinum

  • Yu Lim

    Instructor / Platinum

  • Yifan Ma


  • David Li


  • Amogha Pokkulandra


  • Amy Chang


  • Vikas Thoutam


Sign up for our newsletter

Get announcements for future classes, contests, new initiatives & more!

No spam emails. You can unsubscribe at any time!

© 2021 Competitive Programming Initiative. All rights reserved.