I got an email about the upcoming USA Computing Olympiad, which I will pass on to my 11yo son.

Quote
Welcome to the 2014-2015 season of the USA Computing Olympiad!

As in past years, the USACO is planning several on-line programming contests this season (we will be running four contests instead of the usual six in order to give our staff time for upgrades in our infrastructure and training systems). The schedule is as follows:

Dec 12-15: First Contest
Jan 16-19: Second Contest
Feb 20-23: Third Contest
April 3-6: US Open (our championship contest)

Contests are free and open to all. They are targeted specifically at pre-college students, although others may compete as observers, ranked separately.

Contests are available in three levels of difficulty: bronze (novice), silver (intermediate), and gold (advanced):

- Bronze-level problems are designed to be accessible to those with basic programming knowledge and minimal algorithmic training (e.g., sorting, exhaustive search).

- Silver problems involve "standard" algorithmic techniques (e.g., shortest paths, greedy algorithms).

- Gold problems are quite challenging, requiring clever combinations of sophisticated algorithmic ideas.

All new competitors start out in the bronze level, and earn promotion to higher levels by demonstrating excellent performance on a contest in their current level. Contests are usually 3-5 consecutive hours in duration, which students can schedule any time during a 4-day contest window. Students can submit programs in C, C++, Java, Pascal, or Python. All contests are taken individually.

Our website (http://www.usaco.org) offers hundreds of hours of free on-line training materials for those seeking additional resources to help improve their algorithmic coding skills. For additional practice, you can also view contest problems and their solutions from the past few years, and try submitting your own solutions to see if they are judged as correct.