top of page

United States of America
Computing Olympiad
 (USACO)

USACO contests has 4 divisions:

  • Bronze

  • Silver

  • Gold

  • Platinum

The most important step is Bronze among these four. The reason is it is the start of an exciting journey. A good start is a fruitful outcome.  To prepare Bronze level, students must know basic programming knowledge (in Python, or in Java, or in C++) along with certain algorithms and concepts such as: 

  • Brute force, complete search, range search

  • Inverse array concept and related problems

  • Simulation problems

  • Rectangle geometry and cartesian coordinate system

  • Data structures such as arrays, arraylists (or vectors), tuples or pairs, strings, sets, etc.

  • Time complexity

  • Sorting concept (Selection sort)

  • Built-in sorting functions, custom sort, sorting pairs

  • Binary search simple problems

  • Series and numerical patterns

  • Miscellaneous ad hoc problems

  • Simple graph problems

So far so good. If you come to this point you probably wonder what basic programming knowledge  is. Here it is:

  • The most important thing is learning algorithmic thinking which is nothing but understanding how a computer thinks, how it calculates and how it processes.

  • Variables such as integers, doubles, strings, characters, booleans, etc.

  • Imputing data and outputting results

  • Arithmetic operations simple built-in functions

  • For loop, while loop

  • If then else

  • Functions or methods

  • 1D, 2D number arrays

  • Strings, string arrays

  • Simple brute force  problems

  • Simple simulation problems

So, we started exploring what Bronze is then we went back to basic programming now it is time to talk about what Silver is.

Here it is:

  • A way harder version of each and every concept covered in Bronze level. In Silver, some concepts are same with Bronze but the difficulty level is remarkable.

  • In addition to Bronze concepts students must learn more data structures such as TreeSet, TreeMap, Stack, Queue, etc

  • A deeper understanding of Binary Search and its variations such as UpperBound, LowerBound concepts.

  • Breadth First Search (BFS)

  • Recursion

  • Depth First search (DFS)

  • Simulation, Greedy, and Ad hoc problems

  • Two pointers

  • Prefix Sum (1D, 2D)

  • Coordinate Compression

  • Graph and tree concept, adjacency matrix and adjacency list

  • Simple dynamic programming problems

We offer private USACO tutoring for

  • Basic Programming Knowledge Algorithmic Thinking

  • USACO Bronze Topics

  • USACO Silver Topics

The teacher for this private tutoring is Muhyeddin Ercan. 

For USACO tutor price and available times please contact us.

bottom of page