CS301: USACO Bronze

This course is designed to help students to prepare for the USACO Bronze division competition and promote to the Silver division. Students will be extensively trained to properly interpret the questions and design algorithms to solve the problems. Accurate translation of the algorithms to code is the focus for the Bronze level competition. Students must be familiar with programming (Java or C++) to take this course.

Students will be trained to master the fundamental skills including operations, program flow, arrays, ArrayLists, and recursion. These skills will be practiced extensively to help students accurately implement their algorithms to solve the USACO problems. Since each test case of the problems is allowed to no more than three seconds in Java, students will develop the sense of computational complexity to recognize when efficient algorithms are necessary if the brute force approach is too expensive. Problems from past contests will be examined closely

The sessions of this class are listed below:
1. Java Overview
2. Loops: Game Score
3. Arrays: Finding Primes
4. Strings: Very Long Integers
5. Bases: Numeral System Conversion
6. Matrix: Connect Four
7. Case Study: Speeding Ticket
8. Case Study: Angry Cows
9. Case Study: Load Balancing
10. Case Study: Cow Routing
11. Case Study: Cow Routing II
12. Test Case: Clustering