I’m thinking of encouraging my son to try the USA Computing Olympiad this year. They have 5 web-based programming contests, each lasting 3–5 contiguous hours in a 4-day (Friday–Monday) window, followed by a proctored exam in April. They don’t seem to have posted this year’s schedule yet, as they still have up the 2011–12 schedule—probably because the international competition is in September in Italy this year, so they are waiting to get the results from that before starting the next year.
I can’t find out much about the rules, but I believe that students can program in any language that they are proficient in. Students all start in the “bronze” division, but students who score well are promoted to silver and gold divisions. I suspect that my son will move quickly into the “silver” division with the correspondingly harder problems, but needs a good deal more learning to get into the “gold” division.