How To Compete In Data Science

Marathon Matches are a great way to improve your skills. They usually last about two weeks, giving you a chance to improve your solution. Each match has a different scoring mechanism that’ll output every solution’s quality. You are free to use any method you want, as long as it’s not explicitly prohibited in the competition’s rules. The following steps will guide you on how to successfully participate in a Marathon Match.

//images.ctfassets.net/b5f1djy59z3a/61tYg8VapOUEcqcCOU80Sy/5b3db2499cda8adeda714cedbb02ba2b/ds_howto_banner.jpg

Marathon Matches are a great way to improve your skills. They usually last about two weeks, giving you a chance to improve your solution. Each match has a different scoring mechanism that’ll output every solution’s quality. You are free to use any method you want, as long as it’s not explicitly prohibited in the competition’s rules. The following steps will guide you on how to successfully participate in a Marathon Match.

Step by Step

Beginning a Match
Beginning a Match

You should first start off by visiting the Topcoder Events Calendar to find out when the next Marathon Match is taking place.

In order to start that match, visit this page which will show you all current and active you can view the start/end date of each match, the number of competitors (people who submitted at least once), registrants (people who registered, regardless of whether they submitted or not), and the total number of submissions per competitor.

Marathon Match Main

You can start by clicking on a contest, that will take you to the Match Details page, which includes an overview of the competition and its deadline.

The Problem Statement
The Problem Statement

After you have registered for the match, it is time to click the "Problem Statement" tab.

It is there that you can read the problem, know what the task is, how the scoring works, how to submit, and whether you’ll implement a function and submit code to be run and evaluated on the Topcoder servers or submit a link to a list of answers (most likely a csv file) to be downloaded and evaluated. This page may include examples for the desired output, an offline tester/visualizer to check your submissions locally, information about the prizes (if available), and links for the data (if any).

If you feel like something may be unclear in the problem statement, don’t hesitate to go to the forum and ask there. The forum includes announcements, questions, and discussions about the match.

When you feel like you fully understand the problem at hand, it’s time to code it up!

Submitting to the Match
Submitting to the Match

When you finish the task, review the submission instructions in the problem statement and make a submission. You can submit by going to Match Details page, clicking the "Register/Submit" tab, and choosing “submit”.

Submit Button

There are two options on the next page, the first being “Test Example”. This is available to check the format of your submission. You can create a test example every 15-30 minutes and a full submission every 3-6 hours, so it is recommended you start with a test example.

Text Examples

After submitting your test example, you’ll be taken to a page that will include errors in compiling your code (if any) and a link to view standings. You’ll also get an email with your score if the score is higher than 0. At this point you can now make a full submission and improve upon it.

If the above was not the end result however, then be sure to read the submission guidelines again and focus on why you resulted with a score of 0. Possible pitfalls could occur from things such as formatting and invalid return types, which are sometimes common.

After checking your submission again and making sure it has no errors try another test example and if that fails as well, feel free to ask in the forum. Also, be sure to read the competition rules, particularly regarding external data and code sharing.

After making your first verified submission, your score will be shown on the standings page along with how many submissions and example tests you’ve executed and your current rank on the leaderboard. The standings page shows every competitor’s score and rank, so you are aware of how well your solution performs against others and improve it.

After The Match
After The Match

When the match ends, your code/submission will be evaluated against other test cases to see how well it performs.

Scoring can be either absolute, meaning a scoring metric is used and its output decides the best solution, or it can be relative, meaning submissions are scored relative to the competitor with the highest score, or how many competitors you beat on a particular test case.

When the competition ends and the final results are available, you will be able to view both the system and provisional ranking.

Extras

Practice Rooms

You do not need to wait for an official Marathon Match to start in order to work on these problems. You can compete/practice in a Fun Marathon Match after the contest has ended here in the practice rooms

FAQ

Here are a few answers to our most common questions
Compile and Execution Commands

C++

  • g++ -std=gnu++11 -O3 /workdir/FILENAME.cpp -o /workdir/GlowingBacteria.cpp
  • /workdir/FILENAME

Java

  • javac /workdir/FILENAME.java
  • java -cp /workdir FILENAME

C#

  • csc /workdir/ContestOrganizer.cs /out:/workdir/FILENAME.exe
  • mono /workdir/FILENAME.exe

Python3.6

  • python3.6 /workdir/FILENAME.py
Have a Question?

If you have a question that you would like to see in this section, please post your question to this forum and prefix your Thread topic with "FAQ - DS"