Competitive programming is like a competitive sport. You need to practice a lot to excel at it. The best ones have been training consistently for years.<p>It's a humbling experience for anyone who thinks he or she is a good programmer. I remember when I tried topcoder for the first time. I thought it would be easy to move through the ranks and it turned out to be much harder than expected.<p>However, it's an extremely specific type of programming that in my opinion don't reflect real life programming aptitudes.<p>I think I learned two important lessons though. Be confident your solution is correct before starting coding it, and don't debug but write correct programs instead. It's easier said than done, but a little discipline can help a lot.
Yay! Cmon y'all.. I can't be the only one excited about this!? Where are all the fellow HN'ers who actively practice programming challenges and such? Woot!
New this year is Distributed Code Jam:<p>> The competition will challenge your distributed coding, latency reduction abilities, and of course, your algorithmic coding skills<p><a href="https://code.google.com/codejam/distributed_index.html" rel="nofollow">https://code.google.com/codejam/distributed_index.html</a>
What exactly is this? The site does not do a good job in telling me. Is it a competition? Is it a hackathon? I do not understand why I should care about this.
I recommend to anyone who wants to familiarize with the mechanics of competitive coding, the preparation to participate, or the kind of problems you are supposed to tackle, to get a copy of Steven and Felix Halim's "Competitive Programming" [1].<p>Even though I'm an outsider myself to these competitions, I found the book fascinating. Someone posted an article here at HN about someone reading Greek Classics a hundred or so times and what he got from that... this is the kind of book I feel like I'll have to read that many times in order to get the most of it!<p>"[...] the book contains a collection of relevant data structures, algorithms, and programming tips written for University students who want to be more competitive in [...] competitions, those who love problem solving using computer programs, and those who go for interviews in big IT-companies [...] The possible long term effect is future Computer Science researchers who are well versed in problem solving skills."<p>P.S.: nobody asked me but, what the hell. The other algorithms book I'm really itching to recommend is Sedgewick and Wayne's [2] :-). I like it more than other commonly recommended books, like Skienna's "Algorithms Design Manual" and Cormen's "Introduction to Algorithms".<p>1: <a href="https://sites.google.com/site/stevenhalim/" rel="nofollow">https://sites.google.com/site/stevenhalim/</a><p>2: <a href="http://algs4.cs.princeton.edu/home/" rel="nofollow">http://algs4.cs.princeton.edu/home/</a>
I'm always surprised at why people (especially those who end up winning these things) tend to use C for these challenges.<p>Is it just because they can still solve a challenge even if the solution is suboptimal in some cases? It can't possibly be that it's easier for them to think about problems that way...<p>Another interesting thing is that Python is only really popular in US.<p>Source: <a href="http://www.go-hero.net/jam/14" rel="nofollow">http://www.go-hero.net/jam/14</a>
I will be there like every year, at least for the challenges happening during the weekend. Too bad you can't do it on your own terms. Like why can't you start the coding session when you want? I always forfeit not because I can't solve it but because it's at random times on weekdays.
There should be a round in Code Jam which asks people to write the slowest possible (and correct) solution for a problem. Would be interesting to see people coming up with algos that have ridiculously large complexity classes like O(n!), O(n!!) etc.,
Funny that it forces me to pick a Google office where I would like to work, to complete the registration. They need to get it that not everyone are interested in working for them.