USACO Gold Level Programming

Upper intermediate level programming & algorithmic problem solving in C++ (and Java).

Course Description

USACO Gold course is for students who have good programming skills and are ready to/already competing in the USACO Gold division. Students at this level are expected to effectively use basic algorithms, and have solid programming background. Topics in this course will cover advanced graph algorithms, dynamic programming and advanced search techniques. This course has two versions: Basic and Advanced. Although the topics in both versions are the same topics, USACO Gold Basic has more lecturing and relatively easier problem sets & projects compared to the USACO Gold Advanced course. Upon completion of the basic version, students will be able to solve easy/mid-level USACO Gold problems. Upon completion of the advanced version, students will be able to solve mid-level and challenging USACO Gold problems, and will be ready to take our USACO Platinum course.


Following topics will be covered through extensive exercises:

  • Searching techniques
  • Data structures
  • Graph algorithms
  • Dynamic programming
  • Greedy methods
  • Elementary geometric algorithms


It is recommended that at least one of the following requirements is satisfied for enrollment into this course:

  • Successfully completed A-Star USACO Silver Advanced course,
  • Scored more than 600 points in a USACO Silver contest,
  • USACO Gold contestant.


This course is currently offered only as a full-day course during summer camps.


always positive