Google Code Jam 2005 Winners Announced
Ember writes "The results of Google Code Jam are in. The winner is Marek Cygan from Warsaw University. Second prize goes to Erik-Jan Krijgsman from University of twente (Holland) and third to Pyotr Mitritchew from Moscow State University." Registration for the event took place back in July and Google reported a total of 14,500 registrants which is almost twice as many as last year, making for some stiff competition.
I guess Google didn't forget Poland.
sigfault. core dumped.
First of all,
Congratulations to the winners.
Now the "scandalous" question, where the entries from US programmers ranked. Last year, the winner was from Argentina, this year from Poland. So, all the talk about US losing the science front could be true.
I don't want to take away from the people who won, or the countries and institutions that are educating them, but I live in USA, and I'm curious, how the contestants from here did.
*sigh* This contest is put on by a company known as "TopCoder". TopCoder is an online Java Applet that allows contestants to compete against each other on a time to solution. Results are automatically checked through a set of Unit tests. As long as your program can produce the correct output for a given type of input, it will be considered correct.
Sun, IBM, and many others have sponsored TopCoder competitions in the past. They have since backed off of them. I'm not certain as to the reasons, but TopCoder has received a LOT of criticism. The problem with their approach is that it only proves that the coder can think and type fast. It does nothing to address teamwork, cleanliness of code, design capabilities, engineering ability, or many other areas that are critical to a real world programming job. These contests can be a fun way to compete with your peers, but my guess is that a lot of companies have found that placing too much empahsis on the results is a good way to get burned.
Javascript + Nintendo DSi = DSiCade
The US never had a monopoly on education. I mean, don't forget that the earliest modern-style universities were formed in Europe around 1200. Many were operating for around 500 years before the US was even formed. Today many of those institutions have been around twice as long as the United States, let alone the American educational institutions.
And before that there were centres of learning in Arabia, Egypt, Asia and Greece.
Cyric Zndovzny at your service.
First of all, it cost them over $155,000, as that is how much prize money they gave out. They also spent quite a bit to fly 100 people to the bay area, put us up in a hotel, etc. Second, everyone competes on the same problems, and they are problems that most people could solve given enough time. Google does this to encourage programming, as well as to recruit programmers, not to benefit from the work these programmers do.
I beta tested TopCoder once upon a time (they paid well for a few hours of college student's time). It has all the above problems plus a few not mentioned (limited ability to compile and test, limited access to tools, limited languages, etc). The two biggest things not mentioned here are that:
1)The problems aren't real world. They're heavily algorithmic, and generally a google search can find you pseudocode. The competitions are generally won by whomever knows the algorithm already.
2)Their code frequently requires heavy knowledge of the standard library for that language. If you don't know the StringTokenizer class in Java or wierd STL calls in C++, don't bother. Perhaps not an issue for everyone, but I learned C++ before templates existed, and never really liked the STL.
3)Diving right into code is generally a bad way to program, but in this competition spending time on design is a losing proposition.
THat said, it can be a fun thing to try out. I enjoyed it back in my beta testing days, even though back then they only allowed Java (one of my least favorite languages).
I still have more fans than freaks. WTF is wrong with you people?
Bah...the next thing you know, they'll want me to put comments in my code!
I compete in online programming contests. This does not mean I am a great programmer, or that the winner in these contents are. It does mean however, that the winner is familiar with lots of algorithms and when, where and how to use them. This is really what it's all about - applying algorithms you have learned, under pressure.
:)
Almost all of the more famous names in programming contents are the guys who, over the years, have practiced and solved thousands of programming problems such as the ones you can find at ACM and TopCoder. You don't have to be a super genius (if you are, you probably have better things to do) just stick with it. After a few hundred problems, you know how to do it. It's like rubiks cube and playing Quake.
Whether it's geeky, useful, boring, fun or manual labour is what you make of it.
C++ is backwards compatible w/ C
int class;
Solve increasingly difficult algorithmic problems within a set time period? How about write a piece of enterprise software with no requirements, users you've never met, an analyst who can barely check their email, and a project manager thinks unit-tests and documentation are "Version 2" features? Welcome to my hell, college boy!