Courses

"In an application where we are processing millions of objects, it is not unusual to be able to make a program millions of times faster by using a well-designed algorithm."

- Algorithms, by Sedgewick and Wayne

Bronze

Ages 12 - 18

For students who have recently learned to program, but who have no training in algorithms beyond basic concepts like sorting and binary search.

Level 0

Usaco levelBronze


Ages12-18


Book requiredNo

Learn more

Level 1

Usaco levelBronze


Ages13-18


Book requiredNo

Learn more

Level 2

Usaco levelBronze


Ages13-18


Book requiredYes

Silver

Ages 13 - 18

For students who are beginning to learn fundamental problem-solving techniques (e.g., recursive search, greedy algorithms) and fundamental data structures.

Level 3

Usaco levelSilver


Ages13-18


Book requiredYes

Level 4

Usaco levelSilver


Ages14-18


Book requiredYes

Level 5

Usaco levelSilver


Ages14-18


Book requiredYes

Gold

Ages 14 - 19

Where students encounter more standard algorithms of a more complex nature (e.g., shortest paths, dynamic programming) and more advanced data structures.

Level 6

Usaco levelGold


Ages14-18


Book requiredYes

Level 7

Usaco levelGold


Ages15-18


Book requiredYes

Level 8

Usaco levelGold


Ages15-19


Book requiredYes

Platinum

Ages 16 - 19

For advanced students who are well grounded in algorithmic problem-solving techniques, who wish to challenge themselves with sophisticated and more open-ended problems.

Level 9

Usaco levelPlatinum


Ages16-19


Book requiredYes

Level 10

Usaco levelPlatinum


Ages16-19


Book requiredYes

Bronze, Silver, Gold, and Platinum levels correspond to official USACO divisions