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.