Topcoder Problems for Review and Practice

James S. Plank, University of Tennessee

The purpose of this web site is to have a bunch of Topcoder problems for CS140 and CS302 students to go through on their own for practice. In these files, I will give various hints and perhaps solutions to the problems.

Please email me if you see typos and/or problems with any of these writeups.

D2 250-point Practice Problems

When students ask me what they can do to prepare for CS302 (and even CS140), my response is always, "Topcoder." The 250-point problems from Division 2 are great in this regard, because they typically require small (10-line) solutions, and are straightfoward. Your goal with these problems should be to get them within 20 minutes or so. When you get better at coding quickly, make that goal 5 minutes!

With these web pages, what you should do is the following:

I'm going to order these problems from easiest to hardest, using the success rates from Topcoder as the metric.

D1 250-point Problems (or D2 500-point Problems)

These are harder than the problems above, and often fit into some class of algorithm from CS140 or CS302. The percentages for the D2, 500-pointers are much lower than the D1, 250 pointers for two reasons: First, the programmers in D1 are better. Second, by the time the programmers get to the 500-point problem, they may not have time to complete it. Keep that in mind.

D1 500-point Problems (or D2 1000-point Problems)

For these, I rank them by (number correct / number opened), but I also report (number correct / number submitted). It's hard to gauge these, again, because it's hard to know how much time a competitor had when he/she opened the problem.