Get Time

The TopCoder Design Challenge #2
Tuesday, July 29, 2003

By Pops
TopCoder Member

The TopCoder Design Challenge #2 was a very different challenge than the previous one due to changes in the challenge rules, design requirements, and judging. The top 3 designers were awarded payments of $3000, $2000 and $1000, based on the average of the top 5 submission scores from each designer. Design requirements changed by removing the need for functional tests. The scorecard added new categories, relaxed the wording on others and a much needed appeals process was put into place. Altogether, the challenge provided a wonderful experience to all and definitely improved the resulting submissions.

Week 1 of the challenge was kicked off by submissions from Mikhail_T, ozzie, Saxophonist and WishingBone. This was closely followed in week 2 with DenisKulagin, haha, and MPhk submitting first designs, Mikhail_T submitting a second design and three double submissions by adic, TangentZ and ttsuchi. Week 2 also saw srowen submitting a first design for an astounding score of 98.75. Week 3 found CagedRat, diecut13, isv, kislookhin, kyky and TheCois submitting their first entry and haha, ozzie, and WishingBone submitting a second design each. A single submission from TangentZ and a double submission from Saxophonist brought their totals up to 3 designs each. Week 4 saw only two newcomers - aksonov and Tomson, who each submitted a single design. More entrenchment was seen from the single submissions of haha, isv, MPhk, TangentZ and TheCois. TangentZ was now tantalizingly close to the qualify minimum with 4 designs.

The halfway point, week 5, saw first submissions from argolite, giginim, and mishagam. aksonov and Tomson submitted a second design with adic, isv and ozzie submitting their third designs. Of the submissions that have been scored up to this point, srowen held the point lead followed closely by ozzie and WishingBone. The current leaders in the number of submissions was TangentZ with 4 and adic, haha, isv, ozzie and Saxaphonist tied at 3 submissions each. The top 5 on the leader board stood in order (with their average points): srowen (98.75), ozzie (90.83), WishingBone (89.26), adic (89.16), and TangentZ (88.37).

Week 6, surprisingly, saw only a single submission from aksonov, tying the six other competitors at the three design mark. Week 7 was likewise calm with only 4 submissions. FTolToaster made a debut with a single submission. argolite and mishagam submitted their second design and ozzie submitted a forth design to tie TangentZ. These two weeks were very surprising due to the lack of activity from the current top competitors given the flurry of activity in the prior weeks. Especially surprising was TangentZ who, after submitting 4 designs in 4 weeks, went suddenly silent for three weeks straight.

Week 8 is where things get interesting. Designers must make a choice whether they are too far out of the competition or whether to "push" for the goal (and maybe tradeoff quality for quantity). At this point, schveiguy posted a forum message wondering if anyone was going to make the cut. Personally, I wondered about srowen, who had proved quite capable in the first contest, but had failed to follow-up on his outstanding first submission. Both fears proved groundless beginning in week 8 with 12 submissions. Ken Vogel, rhett, scamp, shiro and ThinMan entered the challenge with single submissions. adic, aksonov, argolite, isv, ozzie, srowen, and TangentZ added to their totals by a single submission. Both ozzie and TangentZ became the first competitors to make the 5 design qualifying minimum this week. Week 9 was another busy week with an additional 7 submissions with single submissions from isv, Ken Vogel, ozzie, schveiguy, srowen and a double submission from ThinMan. isv joined ozzie and TangentZ by meeting the minimum requirements of 5 designs.

A lot of caffeine and/or more adult oriented beverages must have been consumed on Week 10 because there were 16 submissions in this final week. adic, aksonov, argolite, srowen, and ThinMan submitted enough designs to qualify. Ken Vogel made a super human effort and submitted 3 designs to qualify. Both ozzie and TangentZ submitted extra designs in an attempt to improve their averages. A big thumbs up has to go to giginim who, while having no chance at making the minimum bar, submitted a second design in the final week. On a "bummer" type of note, Saxophonist submitted a qualifying 5th design that was later rejected in the screening process for reasons you can read in the forum. When all the designs were reviewed and scored - the top 5 leader stood at: TangentZ (91.21), isv (90.68), srowen (89.16), adic (87.96) and ozzie (87.85).

I had an opportunity to interview the three finalists to get their viewpoints on the contest. Like the first contest, time played the biggest roll. TangentZ clearly didn't want to get into a time crunch and chose to submit as early as possible - the downside being that he was on pins and needles the final weeks wondering if his early submissions were good enough. isv swore not to make the mistake he made in the first challenge by spreading himself too thinly between projects (both the design challenge and an application project), thus losing all of them. He instead committed himself to the challenge and decided to submit as many designs as he could. srowen had commitments outside of the challenge that prevented him from submitting throughout the challenge until the final two weeks. The final push to submit the required minimum designs cost him in quality and consequently - his final ranking.

When asked what designs they chose and which they liked best - the answer was, unsurprisingly, the design(s) that was interesting or challenging. TangentZ's favorite design was the Priority Queue component. TangentZ's comment was "Designing this component has forced me to go back to re-learning and reading up on many data structures and algorithms that I otherwise have forgotten since my first-year computer science course in university. It is a very creative project because it does not simply follow some industry standards or API. In essence, I was able to 'invent' (or probably re-invent) some wheels. That always gives me a good feeling". isv's favorite design was the modifications to the config manager version 3.0. In isv's words, "making modifications to existing designs/code is one of my favorite kinds of jobs". srowen thought the Generic Event Manager was the most rewarding one - "It showcases one of Java's little-known but powerful reflection-related capabilities -- dynamic proxies and the Proxy class. Everything about that design really came together nicely". In summary, the TopCoder Design Challenge #2 was a great success in introducing new people to the design process, a success to all of the designers who won money on each individual winning design, a success to the top three designers who received a bonus and a clear success to the potential customers who will be using the resulting high-quality components made from those designs.

Would you like to write a feature?