50627695351_78bdfeb40d_b
F2FTCO20Topcoder Open (TCO)

TCO20 F2F Finals Recap

Due to the COVID-19 pandemic the First2Finish finals, just like other TCO20 finals, were hosted online. Although the contestants missed out on the chance to travel to great locations in the US, enjoy the generous hospitality offered by Topcoder and meet with other Topcoder members, there was an upside. The contestants got to work on the problems from the comfort of their homes, with the added advantage of not being jet lagged. For some contestants, like xxcxy, there was also the additional luxury of having your furry pet whisper solutions in your ears .

yst8vI7xkTp2GDGybaOHoZRE__ucuMe5m9nxEvHwmANddMrTfyv2JNqbuNI-sROgHuUKcW5xwdHnpZBmf4vD_EG7LsBoG--YdQ0ikOwLthUDPcUffEGgHxdG__KaVqxbbrEOWIY5

 (what was the proctor doing btw?!)

The contestants had to share their webcam stream and their screens with Topcoder, which were monitored at all times by dedicated stage duty admins. In addition, members from the hosting team, such as myself (ketzjs09), dedywahyudi, akinwale and TonyJ kept tabs on the forums and occasionally looked into individual contestants’ stream sessions to answer any quick questions and for general monitoring. In fact, dedywahyudi set up mission control at his place! Check it out:

QgjNlbgJomgKnMWY3aV9icmetxN1mgcIWnjIVajcY9aThKl0LfMIywSu0zU9K_QniZaLbPTbMWvg2NA3Q2NsigGkJ1vnCi1tyYVGNy8kC_EkEh_TZBRUq6V7wReSIVpqr_5GbqZo

Challenge Scoring 

This year we decided to go with something that was more true to the F2F format. Instead of one or a few large problems, we decided to go with fifteen smaller problems - with each being classified as ‘easy’, ‘medium’ or ‘difficult’. The difficulty was meant to be in terms of time required to solve the problem and not the inherent difficulty of the problem itself. The contestants had three hours in total to work on these fifteen problems. 

Furthermore, to keep the scoring consistent with the First2Finish format, the provisional score received by a submission depended on two factors: the ‘difficulty’ label of the problem, and when the submission was done with respect to other submissions in the problem. The contestants could see who else had already submitted to any problem. Here’s the provisional scoring rubric:

NCxsVSzSxwJh1AHMSqk20ZtBlBXYnFQuBM461I2ZXOAPJtTbM3zLCDGqp4woMxO75QhrYRI2RA6VzwmJqLA4AWPZ2AdEyvA33kNwi3n6YMB6Lm0cCRW6bPK_OZxim45exPrkOO8r

Once the finals were complete, reviewers immediately started with the final review, which was mostly a manual review with a basic pass/fail classification based on how well the submissions fulfilled the requirements.  Based on the final reviews after the competition a contestant’s provisional points for a particular problem either remained as-is if their submission met the requirements, or their provisional points were removed if it didn’t meet the final requirements. If a submission failed in final review, the next submission in the order was moved up.

Problem Statements

There were five easy, five medium and five hard challenges. These fifteen challenges largely (but not exclusively) centered around skills related to: HTML5, Javascript, CSS, API endpoint development, Swagger and basic familiarity with various common data file types like JSON etc. These skill requirements were communicated well in advance to ensure that the contestants got a chance to brush up on their basics.

The problems were written largely by yours truly (ketzjs09), dedywahyudi and Kiril. While planning the problems, the overarching goal was to allow a fair enough chance to both the frontend and backend developers to express themselves and score some points - while people with a broader skill set could have an advantage. 

Furthermore, we tried to keep the backstories of the problems as simple or humorous as possible to add some fun to the contest. For instance, there were problems like: “Is Billie Jean my Lover?” API - where the built API had to settle the matter once and for all! Then there was the problem ‘Ronaldo vs Messi Debater API’, where the contestants had to build an API with a job to add some fuel to the already blazing debate of who’s the better soccer player with some funny retorts! We hope these fun elements provided a bit of comic relief to the contestants.

Leaderboard

The provisional leaderboard was broadcast live during the contest, and here’s a snapshot of the final provisional rankings: 

IWV1QJyrf9riYLB1ExSh-3NFem179cxFY6By8HIhp7YRzcUn8suE5GdNOBaPyx5-9x3pucceJz3kpnMTEN8x_RBpIEk354pARg9yZMRcDHwytohuypPgMrYeYdUbOu-qjHs59Heu

As of the time of writing this recap article, the final review and its subsequent final verifications are underway, and there’s always a chance that there could be some changes in the final rankings compared to the provisional rankings.

Overall, the TCO20 First2Finish final was intense and in terms of execution, it went through successfully without any major interruptions. Hopefully the contestants also had a good time competing. The team behind the scenes had a great time during the weeks of preparation and setup, and also definitely during the actual competition. To experience what the finals felt like in real time, watch the recap of the live commentary and analysis by akinwale and jcori: TCO20 - F2F Finals w/ Jcori and Akinwale

Congratulations to cunhavictor for being our TCO20 F2F Champion! Every contestant should be proud to have made it to the finals of the prestigious Topcoder Open, and for putting in a great effort during the qualification stages as well as in the finals, particularly during these difficult times!