This class provides online training for the USA Computing Olympiad (USACO) Gold Division, a programming competition looked at by colleges and used as a qualifier for the International Olympiad in Informatics (IOI). Classes will be held through a computer with a teacher online via live video conference, and during each lesson students will work on challenging sample problems with the help of a teacher. Then, students attempt a problem set for homework on the same topic covered in class, and are able to ask a TA for help during office hours.
The goal of this course is to prepare students to score well on USACO's Gold Divison and help them advance to the Platinum Division. This class covers advanced problems, building on algorithms from Bronze and Silver level, but also require knowledge of other advanced programming concepts like dynamic programming. Topics covered include graph search, dynamic programming, and greedy algorithms. An example problem might have the student find the fastest path through all cows, given a list of cows, their coordinates, and their movement patterns.
View Example Problem View USACO FAQ
Instructor approval. Prior completion of USACO Silver or equivalent recommended. CS02a recommended.
This is an example of a project that students create as they help learn specific Java coding curriculum to study for USACO
Graph Search 1
HashSet and TreeSet
Greedy Algorithms, Priority Queues
Union-Find Data Structure and Minimal Spanning Tree
Binary Search; O(log(n)) Algorithms
Graph Search 2
Dynamic Programming 2
Odds and Ends
Binary Index Tree
Proving Correctness (by Contradiction)
Plane Sweep (TreeSets 2)
Greedy Algorithms 2
Dynamic Programing 3
Bonus Content - TBD
We're planning our next semester. Please check back in August for Fall classes.
In the meantime, click here to submit your time request.
Summer Semester: Three Times Per Week
* Office Hours Included. See time on the bottom of website.
** Instructors currently scheduled are not guaranteed and could change at KTBYTE's discretion
These times don't work for you?
Press the green plus button to add more availabilities.