KTBYTE Computer Science Academy >> Classes >> Advanced >> Cs90 Usaco Prep Silver
NOTICE KTByte enrollment is down due to ISP failure. Classes cancelled for 2017-03-23: CS00b, CS01a, CS02a . Our ISP says they will be repaired by late tonight (Thursday)

CS90: USACO Prep Class

For placement into USA Computing Olympiad Silver

Prerequisites: Instructor approval. CS01b recommended. This competition prep course covers fundamentals of problem-solving used in USA Computing Olympiad contest and approaches to Bronze-level problems.

Course Content

  1. Debugging and testing USACO problems with Eclipse
  2. Data representation
  3. Array aggregation
  4. Hash tables and binary search trees
  5. Comparisons and sorting
  6. Two dimensional arrays
  7. Custom data design

FAQ: Why is this course taught in Java? I thought C++ performs faster? Why not Python?
The USACO rules state that C, C++, and Pascal get 2 seconds to solve a test case, while Java and Python get 4 seconds. Most computing benchmarks place modern Java (JIT compilation) as comparable to C++ performance, and most developers will agree that the performance differences are negligible in most applications. Unfortunately, benchmarks of Python show that it often performs much worse than half the speed of C++. Furthermore, the USACO rules state: Note also that due to the slower speed of a Python program, it may not be possible to solve the largest test cases for some problems even with the inflated time limit given to Python submissions -- consider using a faster language for problems where execution time is critical. Thus, we discourage the use of Python on the competition. Finally, the AP Computer Science exam is done in Java. We believe that algorithms are more important than language syntax. Thus, if students are to learn one language and learn it well, Java is the current best option in the USA.