Competing in algorithmic programming competitions is an extremely eye-opening experience. I competed in 3 ICPC regionals during my time as an undergrad and realized that my level of knowledge in core/fundamental algorithms was (and still is) an absolute joke compared to some of my competition.
I realize I didn't exactly put a lot of time into practicing and learning new material, but now that I've graduated I'm hoping to practice more and eventually try raising my rating on TopCoder. If anything, training for ICPC drilled the basics of algorithms and data structures into my head and lead me to find tons of excellent resources for improving in these competitions (and consequently, programming/problem solving in general).
Seriously, having competed in only 1 regional ICPC myself, I was blown away at the level of knowledge of some of the students. Some kids were coming in from high school with serious programming skills. Makes me sad when I go back to work now and never get to use any of these interesting algorithms.
Does scoring well on these contests typically translate into being a good coder in business? (I'm genuinely curious, not implying anything). It certainly means one is bright. Would one be perpetually bored not finding coding for money challenging?
I can't speak for typical or usual, but, I attended 2 ACM ICPC regionals (southeast) & am gainfully employed in software. Last I knew, my two teammates were as well.
Of course raw coding talent & algorithmic skill are paramount, but what's neat about this contest is there is only one keyboard per team, so things like these quickly set teams apart:
* ordering the problems according to difficulty
* architecting a solution before implementing it
* concise, effective, communication
* using brute force when elegance adds time
* knowing your environment like the back of your hand
* ability to thrive under pressure
In my opinion, skills like these translate really well to success in the fast-paced, agile shops that are flourishing in many markets.
There are several companies in the valley that are going hard for ICPC winners. MemSQL is certainly one of them. In the past contestants were mostly going to big companies like Google. Hopefully we will see more and more of the top competitors joining startups.
out 12 team that received medals:
4 teams from China,
4 teams from Russia,
1 team from Croatia,
1 team from Japan,
1 team from Poland,
1 team from Slovakia.
I think the amazing thing here is that the top 18 teams solved as many problems as Stanford, CMU, and UC Berkeley combined, and those schools are currently 3 of the top 4 ranked CS undergraduate programs in the US.
To be frank, competitive programming is a niche field which requires years of practice.
Imagine it like solving problems in mathematics , the better your brain is used to solving similar problems in the past, the faster you will end up solving the relevant task at hand.
[+] [-] stack_underflow|11 years ago|reply
I realize I didn't exactly put a lot of time into practicing and learning new material, but now that I've graduated I'm hoping to practice more and eventually try raising my rating on TopCoder. If anything, training for ICPC drilled the basics of algorithms and data structures into my head and lead me to find tons of excellent resources for improving in these competitions (and consequently, programming/problem solving in general).
[+] [-] gleenn|11 years ago|reply
[+] [-] b-johansson|11 years ago|reply
[+] [-] itomatik|11 years ago|reply
Live comments about the problems from the legendary Petr Mitrichev: https://docs.google.com/document/d/1rjGwA7ChLJr2ibHVbt-GirDp...
[+] [-] mzl|11 years ago|reply
[+] [-] supahfly_remix|11 years ago|reply
[+] [-] jblz|11 years ago|reply
Of course raw coding talent & algorithmic skill are paramount, but what's neat about this contest is there is only one keyboard per team, so things like these quickly set teams apart:
* ordering the problems according to difficulty
* architecting a solution before implementing it
* concise, effective, communication
* using brute force when elegance adds time
* knowing your environment like the back of your hand
* ability to thrive under pressure
In my opinion, skills like these translate really well to success in the fast-paced, agile shops that are flourishing in many markets.
[+] [-] nikita|11 years ago|reply
[+] [-] lelf|11 years ago|reply
https://twitter.com/ICPCNews
[+] [-] tellarin|11 years ago|reply
[+] [-] itomatik|11 years ago|reply
[+] [-] dpiers|11 years ago|reply
[+] [-] hatred|11 years ago|reply
Imagine it like solving problems in mathematics , the better your brain is used to solving similar problems in the past, the faster you will end up solving the relevant task at hand.
[+] [-] xentronium|11 years ago|reply