Would you like to learn how to be a better, more efficient programmer? Do you want to build optimized code that runs faster than anything you thought you could create? Then you might find that entering programming contests helps you sharpen your skills. Keep reading as we take a close look at what you can gain from pitting your programming skills against your peers from around the world.
Programming Contests: Why Bother? - Which Contests? (Page 3 of 4 )
For those who have not yet reached the college or university level, there is a World Cup-like contest called International Olympiad in Informatics, or IOI for short. More specifically, the final stage is IOI. It consists of two days of computer programming, and it is held every year in a different country.
There are organized earlier stages to this competition that run under the name of Informatics Olympiads. These have local and national phases. For the IOI, every country can participate with at most four contestants. Contestants compete individually. Each day, they receive three problems which they have to solve in five hours.
There are a couple of other challenges; however, these are too specific, and it is hard to write them down for every region for the world. If you are interested in this challenge, you will have to look around, ask your teachers. There are large collections of online contests that will help you prepare for the IOI that his held annually.
USACO selects the team for the USA; however, their contest was made international a couple of years back, so now everyone can participate in it.
Then there are the Bitwise and the ACM contests (what has a couple of local sessions) sponsored by IBM.
The Internet Problem Solving Contest is an interesting one. It's an online contest for teams of up to three people. Several problems are published at the beginning of the competition, each of which consists of a problem description and two input data sets. Solving a problem means computing the correct output data for the given input data sets.
These are the ones you can enter if you have not yet entered college. Once you are a college or university student, the TopCoder and ACM contests remain options in which you can participate.
With TopCoder, Google organizes the Google Code Jam. In this competition, both professional and student programmers can compete. As with other programming contests, the competitors are asked to solve complex algorithmic challenges in a limited amount of time. Somewhat unusually, you're permitted to program in the coding language and development environment of your choice.
If you hurry, you can still enter this year. Google Code Jam begins in July and continues in August, when contestants compete in online rounds against each other. As with the others, this competition draws programmers from around the world. The top 500 participants advance to on-site competitions at a local Google office to compete against those in their region (Asia Pacific; Europe, Middle East and Africa; and the Americas). The final round, held at Google's headquarters in Mountain View, California, pits the top 100 against each other in November. If you want to register for this year's competition, you must do so by July 17.