Topcoder

This is an old revision of this page, as edited by Angela (talk | contribs) at 08:13, 17 March 2004 (sp, fmt, comment out bit that make's no sense). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The term topcoder refers to a high quality programmer or (especially if spelled "TopCoder") can refer to an individual who competes in online programming contests at topcoder.com. Alternatively TopCoder is used to refer to the company of that name, which hosts the contest.

TopCoder has been hosting algorithm competitions since... stub In each contest there are four phases: coding phase -- 75 minutes Add description here intermission -- 5 minutes Add description here challenge phase -- 15 minutes Add description here system test phase -- as long as it takes Add description here


They used to give out money every week to coders who did well in the competitions (weekly algorithm competitions are called SRMs -- Single Round Matches), in a business model that seemed paradoxically brilliant. SRMs are now sponsored by outside companies such as Google and Yahoo!, and prizemoney is not awarded except for twice a year to winners and finalists of the TopCoder Collegiate Challenge (TCC, which is in the spring) and the TopCoder Open (formerly the Invitational, which is in the fall).

The business plan behind topcoder.com is actually rather interesting. One goal is to be a sort of recruitment center where companies can come and find programmers who are proven to be highly skilled. Another aim is to be an outsourcing center: TopCoder also hosts design and development competitions in which coders can compete to solve real world problems that third parties have contracted for.


In order to encourage newcomers in the early days (who would have little hope of beating out the best coders for prizemoney) to stick around and compete, the Iron Man system was set up under which coders were grouped into rooms of ten according to skill level (determined by rating). After the contest, the top (3?) (highest scoring) coders in each room were paid according to the skill level of the room (winners in the room of contestants with the top 10 ratings were paid more than those in the room with coders 11-20, and so on). This created some paradoxical situations such as the possibility of coming fourth in the whole contest and getting no money, while the 111th placed contestant got paid, and gave rise to ratings diving. Ratings diving, or taking a ratings dive was accomplished simply by doing very poorly on purpose in a particular contest (by opening and not submitting any problems or submitting incorrect challenges). As a result, a contestant would, in their next contest, be placed in a room with 9 coders among whom they had a good chance of winning some money. The idea was that the dramatically increased chance of winning money made up for the fact that the money to be won was a lesser amount given the lower average rating of the room.

Since, coders have been divided into two divisions (appropriately named Division I and Division II), and are grouped in rooms of up to 20 in such a way that within each division, the average coder ratings in each of the rooms are roughly equal.