Coming soon

Free Online
USACO Classes

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

What is Competitive Programming?

Trial Classes

  • Timing: Classes will be held on Saturdays, 6:00-8:00PM (CST), from 10/31/2020 to 12/5/2020.
  • RSVP: Sign up here!

There will be 6 classes in total - the first 3 are for students at the USACO Bronze level, and the last 3 are for students at the USACO Silver level. However, anyone is free to attend any class that sounds interesting, and there are no restrictions based on skill level. Because these are trial classes, each class will have a completely different format. We want your feedback! Please let us know what you thought about the class you attended, possible changes we could make, things you want to see stay the same, etc.

  1. Bronze Class 1 (10/31/2020): Introduction to Sets and Maps
  2. Bronze Class 2 (11/7/2020): Introduction to Greedy Algorithms
  3. Bronze Class 3 (11/14/2020): Introduction to Graphs
  4. Silver Class 1 (11/21/2020): More Operations on Ordered ets
  5. Silver Class 2 (11/28/2020): Prefix Sums
  6. Silver Class 3 (12/5/2020): Two Pointers

Premium Quality, Affordable Cost.

Free doesn't mean low-quality.

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

We ask that students donate a small, tax-deductible amount to help fund the creation of these classes. If you're unable to pay, you'll get access to these classes for free.

Course Info

Class Format

A CPI course consists of 12 weekly classes, each of which lasts 2 hours. Each class will consist of a lecture, challenging example problems, and problemsets for homework.

All classes have three instructors, one of which will be a USACO Finalist, and a maximum of 20 students each. Instructors will be able to answer any questions students may have during class. Students requiring personal assistance can reach out to instructors for one-on-one help after class.

In addition, there will be a contest every few weeks to allow students to identify their weak points and practice accordingly.

Class Schedule

  • Introductory Class - Fridays, 7:00-9:00 pm (GMT -05:00)
  • Intermediate Class (Time Slot 1) - Wednesdays, 6:00-8:00 pm (GMT -05:00)
  • Intermediate Class (Time Slot 2) - Fridays, 6:00-8:00 pm (GMT -05:00)
  • Advanced Class - Wednesday, 7:00-9:00 pm (GMT -05:00)

Introductory Class

This course is meant for students who already know the basics of a programming language and are interested in learning more about competitive programming. The course will teach the necessary techniques needed to pass USACO Bronze.

Syllabus (not exhaustive):
  • File / Fast I/O
  • Time Complexity
  • Data Structures
  • Simulation
  • Rectangle Geometry
  • Sorting Problems
  • Sets & Maps
  • Complete Search
  • Ad Hoc Problems
  • Greedy Algorithms
  • Graphs

Intermediate Class

This course is meant for students who are in the USACO Silver division or have taken our Introductory Class. The course will teach the necessary techniques needed to pass the USACO Silver contest.

Syllabus (Not Exhaustive):
  • 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
  • Graph Two-Coloring
  • Floodfill
  • Tree Algorithms
  • Functional Graphs

Advanced Class

This course is meant for students who are in the USACO Gold division or have taken our Intermediate Class. The course will teach the necessary techniques needed to pass the USACO Gold contest.

Syllabus (Not Exhaustive):
  • Number Theory
  • Breadth First Search
  • Shortest Paths
  • Dynamic Programing
  • Stacks
  • Sliding Window
  • Disjoint Set Union
  • Topological Sort
  • Minimum Spanning Trees
  • String Hashing
  • Point Update Range Sum
  • Euler Tour Technique

Ready to get started?
Join CPI Classes today!

© 2020 Competitive Programming Initiative. All rights reserved.