• Welcome to Computer Association of SIUE - Forums.
 

TopCoder vs. The ACM UVA Online Judge

Started by EvilAndrew, 2005-09-14T14:16:27-05:00 (Wednesday)

Previous topic - Next topic

EvilAndrew

Recently, I have been visiting TopCoder.com to brush up on my C# skills.  In the past, I used the ACM Online Judge to practice but they do not accept C# programs so I switched. Now that I have used both I thought I would provide a quick comparison for your reading pleasure.

Competitiveness:
One of the primary differences between TopCoder and the ACM-UVA site is TopCoder’s competitive atmosphere.  TopCoder holds competitions that adjust user ratings (like chess ratings).  These competitions are timed (75min) and at the end of the time control users can attempt to break each other’s submissions by submitting test data.  If a user finds data that causes another’s program to fail then points trade hands.  TopCoder users seem may also text-chat (but they never do). The ACM-UVA site is keeps statistics and holds competitions, but the competitive atmosphere does not really exist.

Problem Difficulty:
On both TopCoder and the ACM site you can submit practice problems when competitions are not in session.  However, the natures of these problems are somewhat different.  On the ACM site you will find a huge range of problems from those that take minutes to those requiring hours of thought.  On TopCoder, the problems are all simplified down to ones that can be completed in less than an hour.  The easy problems on TopCoder take more time to type than to figure out.  I had a 250-point (easy) problem yesterday that was three for loops an if statement and a â€Ã...“count++â€Ã,.  I have not seen a TopCoder problem that I could not solve (although I have run across two that I could not solve in 75min.).  On the ACM site I have had to learn new areas of Math to solve some problems.  Thus, the ACM problems can be more difficult, but since the time is unlimited â€Ã...“who cares.â€Ã,

Number of Problems:
TopCoder has about 400 practice problems.
ACM has about 1700 practice problems.

User Interface:
TopCoder uses a Java Applet/Application as its interface.  This is by far the most annoying part of this site.  Sometimes the interface has little bugs with Java 1.5, the menus are not obvious and there is no point in using the default editor because it stinks.  I just copy and paste code, but there are plug-ins for the TopCoder interface for those serious competitors worrying about speed.  The ACM Online Judge uses a PHP webpage for submission. This is nice because it only requires a web browser on your local system.  However, on the ACM site you must send your user/password each time you submit and it travels HTTP not HTTPS so it would be easy to steal.

Program Checking Interface:
TopCoder uses a different program interface than the ACM site in that all TopCoder’s supported languages (java, c++, C#, VB.NET) are Object Oriented so TopCoder defines a Class and Method name to be used for code checking.  The ACM site supports non-OO languages and so uses standard IO streams to code checking.  This means that your ACM code needs to be careful about things line spaces and tabs and number formatting while your TopCoder output is just data in a standard type (like string[]).  To handle language syntax differences TopCoder provides instructions in the language of your choosing.

Wow, that was a long post.  I think I’ll stop now.  If you have any questions/comments about these services then post them.

......