JOIN
Get Time

2004 TopCoder Collegiate Challenge

Component Headline
  Tournament Overview Tab Algorithm Tab Component tab  
about design development development
Round 1 Round 2 Finals Editorial Bracket

See more photos!


aksonov and his check

aksonov, writing the design for victory

by AdamSelene,
TopCoder Member
Friday, April 16, 2004

The competition was fierce, but today aksonov emerged as the victor of the TopCoder Collegiate Challenge 2004 Design competition. aksonov, the last seed in the final round, bested adic by only the slimmest of margins: 0.59 points. MPhk put in a strong showing, but fell behind the other two competitors. In addition to this come from behind victory., aksonov will also take home the sizable $25,000 first prize.

THE ROAD TO THE FINALS

All three competitors opened the first design round powerfully, each placing in the top 5. Following up in the second round, they stayed on top of their competition, securing entrance to the finals. Notably, aksonov submitted 4 designs in the first two rounds of the Collegiate Challenge Design competition, while also submitting a second place solution in the first Development round. aksonov was the only finalist to compete in both the development and design competition.

THE BATTLEGROUND: Catalog

On March 30th, the finalists were presented with a specification for a new component: Catalog. The component was required to manage a catalog of products and apply discounts to their prices. An interface had to be designed to manipulate the products, prices, and discounts; the design also had to account for how the data would be managed behind the public API. aksonov, adic, and MPhk would have seven days to create a design which provided the required functionality, and described a powerful and clear public API. The extent and strength of the design was only limited by the designer's ability and imagination.

THE SUBMISSIONS

The finalists were responsible for providing the entire public design of the API, as well as diagrams of use and interaction between the component and its clients. After April 6th, the submissions were in the hands of the Design Review Board: ivern, Ken_Vogel, and kyky. The reviewers evaluated the design for completeness of functionality and satisfaction of the Requirement Specification. Additionally, they graded the cleanliness and strength of the design, both in terms of interface and overall function. The reviewers rated every aspect of the design, from the class diagram to documentation.

ON-SITE: APPEALS, FIXES, AND AN ADDENDUM

The results of these initial reviews were available to the competitors at 8 AM today. The scorecards revealed a very close race: only 4.3 points separated adic, first place with 83.29 points, and aksonov, last place with 78.99 points. MPhk stood between the two with an initial score of 81.08 points. This left four hours for the competitors to improve their designs according to the reviewer's comments, and implement a two part addendum allowing product combinations and product tiering.

The reviewers agreed; aksonov's solution was unique and significantly different from the other competitors. Using an extremely flexible rule set to define products and discounts, aksonov's design was the most complex of the three. However, his component was lacking key functionality demanded by the Component Requirement Specification. adic, on the other hand, had a strong, basic solution, meeting all requirements, but suffered from some structural design flaws.

The round only saw one appeal, from aksonov on a small standards matter. All three competitors worked with total dedication for the entire competition, dedicating their efforts to their designs, and asking few questions. adic first worked on the addendum, adding the required functionality to his design. Next, he approached the final fixes, achieving roughly half of them by his own estimation. MPhk, on the other hand, took the opposite approach, ensuring the repair of all existing design flaws before approaching the addendum. Unfortunately, this meant that by the time he finished the fixes to his design, he did not have enough time remaining to complete the additions required for the addendum.

During the competition, aksonov employed a strategy echoed as very important by the judges; he focused only on major design flaws. Crediting his experience at the TopCoder Open, he tried to avoid getting caught up in minor fixes that would not yield score gain proportional to the effort required. Like adic, he first added the new functionality required by the addendum, and then approached the largest design issues.

His strategy proved wise, as his final score of 82.57 edged out adic's 81.98 to win the final round. MPhk's missing addendum requirements ended up costing his submission significantly in terms of score, finishing last with 70.13 points. However, the reviewers commended all three submissions, indicating that all of the three were quality designs that would have won a less hotly contested competition. Congratulations to all competitors and good luck next year!