There are times when I get tired of the same old video games and I want a real challenge. I like challenges that make me use some actual skills to accomplish goals rather than playing a video game where you run around and shoot people. To me it’s more rewarding to complete a real world task, such as crack this file, or write a program, as well as educational. Fortunately there are two web sites that have just these sorts of games, HackQuest and TopCoder.
Topcoder is a little more practical than HackQuest. Topcoder is a site dedicated to programming. On Topcoder, you compete against other programmers in competitions hosted by large companies. Previous hosts include the NSA, Citigroup, and Sun Microsystems. There is plenty of practice problems based on previous competitions to get you familiar with the environment you compete in. There are also projects that the site hosts to build re-useable components that you can be rewarded with cash. It supports a number of languages, such as C++, C#, and Java. I personally don’t care for the competitions; I just prefer to go through the practice problems for educational purposes. However, it is fun to watch the lobbies to see the interactions between the hosting companies and the participants. When in the practice sessions, you can view other submissions to get an idea of different approaches to solving problems, and get an idea how the problem could be solved in other languages. I have learned quite a few new algorithms this way. The site does have some drawbacks. The scoring system is highly questionable and does not promote good programming practices. Some of the highest scoring code is also some of the ugliest code I have ever seen. In some instances the sloppiest code I have written scores higher than some of the cleaner code. When browsing other submissions, it seems to be more of an obfuscated competition than a professional programming competition. The automated scoring system also detracts points for commenting, which I don’t agree with. But I look past these flaws and still have a lot of fun on the site.