white gradient.png

USACO Competition Algorithms Course

USACO (United States of America Computing Olympiad) is a computer programming competition where students solve a set of logical or mathematical puzzles using a programming language such as Java, C++, or Python. This course is designed for advanced coders who want to compete in programming competitions such as USACO, HSPC, Google Code Jam, and more. 

Grade 8-12

 

Java or Python knowledge is required

 

Subcourses & Curriculum

BTREE_logo_web_icon_256.png

Bronze

Bronze Algorithms

In this course, students learn and practice the algorithms and data structures essential to solving problems and utilizing them in competitive programming at the Bronze level.
  • Intro to competitive programming and preparations
  • Array & 2D Array & Array List
  • Hash Table
  • Simulation
  • Complete Search
  • Optimizing
  • Recursion Basics & Practice
BTREE_logo_web_icon_256.png

Silver

Silver Algorithms

This course primarily teaches more complicated algorithms that are needed to succeed in USACO Silver. 
  • Bronze Review
  • Complexity
  • Binary Search
  • Data Structures
  • Stacks and Queues
  • Dynamic Programming
  • Flood Fill
  • Trees
  • Hashing
BTREE_logo_web_icon_256.png

Gold

Gold Algorithms

This course primarily teaches advanced graph algorithms and dynamic programming that are needed for USACO Gold. 
  • Introduction to USACO Gold
  • Topological Sort
  • Knapsack
  • Segment Tree
  • Lazy Propagation
  • Fenwick Tree (BIT)
  • Minimum Spanning Tree
  • Floyd-Warshall
  • Disjoin Set (Union Find)
  • Line Intersection
  • Point in Polygon
btree_tit_icon_edited.png

Learning Outcome

Upon completion, students should be able to get ready to participate in the USACO competitions. 

USACO Competition Algoritms Course Enrollment

Please check the schedule to enroll.

silversample.png
goldsample.png