USACO Silver Level Programming

Intermediate level programming in C++. Suitable for students with prior programming and algorithmic problem solving experience.

Course Description

Intermediate level problem solving & programming using C++ (and Java). This course is for students who already have programming background, have completed our USACO Bronze curriculum or compete in the USACO Silver division. Topics will include basic algorithms (such as sorting, graph traversals, greedy methods) and advanced implementation techniques (e.g., simple data structures and recursion). This course has two versions: Basic and Advanced. Although the topics in both versions are the same topics, USACO Silver Basic has more lecturing and relatively easier problem sets & projects compared to USACO Silver Advanced. Upon completion of the basic version, students will be able to solve easy/mid-level USACO Silver problems. Upon completion of the advacned version, students will be able to solve mid-level and challenging USACO Silver problems, and will be ready to take our USACO Gold course.


Following topics will be covered through extensive exercises:

  • Introductory USACO Silver problems
  • Sorting and Searching
  • Simple string processing
  • Non-recursive floodfill
  • Simulation problems
  • Greedy methods
  • Recursion
  • Simple data structures
  • Depth first search
  • Breadth first search
  • Hard implementation problems


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

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


This course is offered as:

  • A full-day course during summer camps,
  • An online course during the academic year.