views:

375

answers:

3

at workplace, the work I do is hardly near to challenging and doing that I think I might be losing the skills to look at a completely new problem and think about different ideas to solve it.

A friend suggested TopCoder.com to me, but looking at the overwhelming number of problems I can not decide how to get started?

what I want is to sharpen my techniques ( not particular language or framework ).

A: 

Try whit http://projecteuler.net Problems difficulty can be assumed by number of solvers.

I prefer this page, because it is language invariant and problems are really challenging

ralu
+1  A: 

The only way to get started would be to pick problems. Division I is the more difficult division, so you will probably find that the division I medium and hard problems will be somewhat interesting and challenging (unless you are quite clever.)

If you check the event calendar, you can see what algorithm competition rounds are coming up in your time zone. The competitions have the added virtue of forcing you to read and analyze other people's code in the challenge phase, so even if you would just as soon practice without a clock, you may find them interesting.

mquander
@mquander, how should I deal with the frustration when I start to blame myself for not being intelligent enough to see the solution of hard problems? (is practice the key for insight and intelligence? or its knack that some people have and some don't "what I am asking is, can it be developed, I consider myself average on math skills(maybe less)")
Gollum
mquander
Thank you so much for your time and wonderful advise :). Really appreciate.
Gollum
+1  A: 

TopCoder algorithm contests are a way to develop your coding speed. Solving any of the problems in the practice arena is difficult unless you already have knowledge of various algorithms.

The problems on Project Euler suffer from the same flaw. You already have to know the algorithms to solve the problems in a reasonable time frame.

What I would suggest is to pick a project that you're interested in, and pursue it as you have time. As an example, I'm currently learning how to work with the open street map tiles in an Eclipse rich client platform.

Gilbert Le Blanc
Clearly problem solving strategies vary and "a lot" is subjective, but I'd like to provide an opposing view here - I've done quite a number of Project Euler problems, and they rarely require a lot of pre-existing algorithmic knowledge. The easier half of the problems on TopCoder also assume quite little foreknowledge.
mquander