United States of America Computing Olympiad
The United States Computing Olympiad includes a series of seven internet programming contests and a training camp, used to eventually choose the team that will represent the US in the International Olympiad in Informatics (IOI).
There are seven Internet Competitions held each year, including the qualification contest, and USACO's flagship contest, the US Open, which tests the programmer's ability to write correct programs, with restrictions on runtime and memory usage.
These Internet Competitions have different level, Gold (the most difficult), Silver, and Bronze (the least difficult). There is also a level 1 contest for those who are taking a first-level computer science course.
The qualification round is held in the October of each season, to give participants the chance of being in the Gold or Silver divisions. This contest does not count for deciding who goes to the training camp or not however.
There are other ways to qualify for the Silver or Gold divisions, including doing well on a previous contest.
Regular contests take place each month from November through March. These contests are generally 3-5 problems lasting 3 hours. Competitors may participate at any time over a weekend for three hours as long as those hours are continuous. Preliminary results get mailed to individuals on the Tuesday after the contest, and an analysis mode is released. The preliminary results contain the results from testing that competitor's programs. In analysis mode, competitors may submit code for testing. If they feel that their code was graded incorrectly, they may ask for a retest at this time. The Thursday of that same week, overall results are released. These include problem weights, overall score, rankings, and who gets to move up to the next competition.