

Worth of Programming Challenges and event ? - l0nwlf

What do HN guys think about Topcoder ( http://www.topcoder.com/tc )? Is it a dependable platform to learn and master C++, C#, java and algorithmic techniques. 
Is it better or worse than other Online judges ( ACM UVA, SPOJ etc ) ?
What is the worth of Google Codejam ?
Should a computer science undergrad afford to spend their major chunk of time on these online judges practising programming or it's more worth to develop a software or contribute to open-source ?
What are their respective values on job-scenario ?
======
telepras
Practicing in online competitions does help . At least to master the different
problem solving techniques , but doing it full time would be a mere waste of
time . As pointed out the way we need to code in the industry and the thought
process that has to go through is way different . Yes we do face challenging
problems and knowledge of different techniques / approaches will surely come
handy, but i am sure it will be more worth to develop a software or contribute
to open source . By this way you give yourself a chance to learn the entire
SDLC and hence u will be more valued in the Industry .Ofcourse the complexity
of the problems you have solved while building the software will be the
criteria based on which ur skills will be judged

Google code jam is just a competition where u can tell Google you are there
and you can do good programming and yes probably get hired by them !!

------
rw
I recommend Project Euler as a complement (or replacement) to the
competitions. PE is not timed, therefore you can concurrently solve the
elegant challenges while working on other projects. Furthermore, there are no
"levels of access": all problems are available at the start.

~~~
l0nwlf
Thanks. I had tried PE some time ago as a time-pass activity. Loved it. Also
loved pythonchallenges. currently I was doing SPOJ (python and C) and it
seriously needs lot of time and focus. I was wondering whether it's worth it.
It do improve timed programming though, as you can code faster. Plus it never
gives a sense of fulfillment.

------
kr0y
Here is an interesting view on the non significance of programming contests
[http://web.archive.org/web/20071121053436/http://www.cs.calt...](http://web.archive.org/web/20071121053436/http://www.cs.caltech.edu/~mvanier/hacking/rants/programming_competitions.html)

And after leaving college and coming to the Industry, the first thing I learnt
is that the kind of programming you are expected to do in an organisation is
so different than the style we follow in the colleges or promoted by the
coding competitions.

------
tetha
Those problems are certainly interesting to learn a language and to learn
algorithms, but almost all contests I tried have one MAJOR MAJOR problem,
which is why I stopped solving those interesting problems: It is like trying
to fix a complicated robot which should work perfectly by my confidence in
total darkness, wearing oven mitts without tools.

Yes, once you submit, you get back WRONG. You question your algorithm, you
question your understanding of the problem, you question yourself, you
question the forum, but there is no error. Great. So you can just stop trying
to solve the problem and do something else and probably assume that either the
problem description is wrong or the input/output is wrong. This is certainly
not fun at all.

------
a-priori
I used to do competitive programming in high school and early university, but
I stopped doing it mainly for lack of time.

Most of what you learn from programming competitions is not transferrable to
business programming, but possibly some is. Maybe you'll see a case at work
where dynamic programming might be super-awesome. Maybe you won't, but either
way it's not going to hurt. There are be opportunity costs of course (i.e,
because you're not spending your time elsewhere), but only you can judge that.

My motto, if I had one, would be that learning is not a zero-sum game.
Programming competitions are a form of deliberate practice not unlike cross-
training for athletes.

~~~
l0nwlf
To practise and participate in programming competition needs loads of time.
Somehow I felt, giving that much time would not be worth it. However it do
improves speed and accuracy and helps getting campus-recruitment. This was the
dilemma here. Go for it ( yes/no ) ?

------
spo0nman
Topcoder is modern electronic Sweat Shop

------
kuszi
I am not sure about bussiness but you can find many "competition programmers"
among outstanding young algorithmists (researchers), so possibly it help this
direction.

------
vijayr
<http://codegolf.com/>

Not that frequently updated, but some really cool stuff there

