Slashdot Mirror


Google Code Jam 2004

cymen writes "Google's Code Jam 2004 is open for registration at TopCoder.com. Slashdot reported on the 2003 winner and Google has a Code Jam 2003 summary. Grab some caffeine and get hacking!"

45 of 209 comments (clear)

  1. Google - what a great company by Slashbot+Hive-Mind · · Score: 5, Insightful

    $10,000 for the winner, but the real prize is recognition amoung your peers. And it will help open source as well.

    --

    --
    We are the collective Slashbot HiveMind
    1. Re:Google - what a great company by Anonymous Coward · · Score: 2, Interesting

      it will help open source as well.

      How does a competition which mandates the use of proprietary languages (VB.Net) or "open" languages controlled by major closed-source corporations (C# and Java), "help open source"?

    2. Re:Google - what a great company by Slashbot+Hive-Mind · · Score: 2, Interesting

      We have learnt that Sun is seriously considering Open Sourcing Java. And the excellant Mono project will wrest control back from M$. Have faith, AC-of-bot, the collective will prevail.

      --

      --
      We are the collective Slashbot HiveMind
    3. Re:Google - what a great company by strictfoo · · Score: 3, Informative

      How does a competition which mandates the use of proprietary languages

      From Google: Use Java, C++, C# or VB.NET

      C++ is proprietary?

      --
      I've just signed legislation that'll outlaw Russia forever. We'll begin bombing in five minutes.
    4. Re:Google - what a great company by r.jimenezz · · Score: 4, Interesting
      And it will help open source as well.

      I thought the kind of exercises used in these competitions were rather contrived and "hard" computer science problems... I am not sure the concepts developed could be easily applied to, say, developing a better desktop or interoperating better with proprietary applications/file formats.

      However some of the FOSS community best hackers could register and donate any prizes they net to their projects ;)

      --
      The revolution will not be televised.
    5. Re:Google - what a great company by apankrat · · Score: 2, Interesting

      I do hope CodeJam problems are different from typical TopCoder ones. I know couple of guys who used to hang out on TopCoder. From their comments I gathered that being a timed competition its winners are not CompSci geeks or language gurus or design gods. No. Winners merely are the people who over time managed to accumulate a library of frequently used code snippets. Solving the problem is then a matter of simply putting these snippets together.

      If this is in fact true, I don't see any reason why I should give any 'peer recognition' to these winners.

      I think if Google would replace this clause
      In a race to see who can create an accurate solution in the shortest amount of time, competitors try to out-think and out-code their opponents.
      with a simple time constraint, CodeJam would attract other developers, who usually put some effort into a good design and thus prefer to think first and then code.

      --
      3.243F6A8885A308D313
  2. I think I speak for all of us when I say by PatrickThomson · · Score: 5, Funny

    Mmm... Jam...

    --
    I am one of many. My idea is not unique, nor do I expect my voice alone to sway you. I speak in a chorus of opinion.
  3. Jimmy! by mfh · · Score: 5, Interesting

    There was an interesting comment and rebuttal in the 2003 winners article on Slashdot that basically stated Google was above the other big corporations out to make a buck, because Google makes you feel good for donating time to their cause. Okay that was 2003. My question is that now Google has gone public, has the mood change very much? I still have a good feeling about them, and I use their services every day, including the search engine (GIS, web search) and Gmail. I'm just wondering if coders feel that $10k is enough money now that the profits have grown so much. I could see them offering $100k to the winner without batting an eye. Are they awarding enough to first place?

    FTA: During the Challenge Phase, competitors view each other's code and try to "break'" that code by passing test cases through the submitted code, with the hope that the results are not satisfied by the software written. Breaking another developer's code is the most direct form of competition for a programmer. In this phase, points are awarded for successful challenges and deducted for unsuccessful challenges.

    To me, it's more important to measure the potential of a programmer, more than the experience of the programmer. Creating new ideas and systems does not require experience alone -- it requires a great deal of potential. Simply breaking and fixing code in a realtime setting is good for the day to day stuff (and that is valuable for Google), but when a customer or boss asks to you build something new and difficult, many experienced programmers answer with, "that can't be done" when less experienced programmers will try to do it, with limited success.

    Does anyone know if Jimmy Mardell was hired by Google?

    --
    The dangers of knowledge trigger emotional distress in human beings.
    1. Re:Jimmy! by Quixote · · Score: 5, Informative

      Google Codejam is a programming contest, and not a contest to develop a neat application for Google. The problems in the CodeJam are more like puzzles. You are confusing this with the other contest that Google had (the URL for which escapes me) where they gave 10K for the best use of Google.

    2. Re:Jimmy! by Brian+Quinlan · · Score: 5, Insightful

      To me, it's more important to measure the potential of a programmer, more than the experience of the programmer. Creating new ideas and systems does not require experience alone -- it requires a great deal of potential. Simply breaking and fixing code in a realtime setting is good for the day to day stuff (and that is valuable for Google), but when a customer or boss asks to you build something new and difficult, many experienced programmers answer with, "that can't be done" when less experienced programmers will try to do it, with limited success.

      I did the Google Code Jam last year and found that they required a lot more than basic coding skills.

      One question involved analysing sequences of resource lock and unlocks, represented by upper- and lowercase characters in strings e.g. "ABba", "BAba" and "CADadBbc". Given such strings, you had to write a program to identify potential deadlock conditions e.g. the first two strings can deadlock at position 1 because the first string will hold a lock for A while waiting for B and the second string will hold a lock for B while waiting for A. Of course the real tests were more difficult than this. I think that less than 10 people out of 250 got this one.

      Another question involved graph searching but with the cost of node traversal changing with time according to a pseudorandom algorithm. My solution was only twenty or thirty lines of code but it took a while to think how to do a time-based graph search.

      The challenge phase is fairly challenging (excuse the pun) as well because you only have thirty minutes to make all of your challenges and you lose points if you are incorrect i.e. you claim that a certain valid input combination will cause the program to fail and it doesn't. Thirty minutes is not a lot of time to attack the 30 potentially flawed solutions that you are looking at. You have to pick a set of likely flaws (based on your own design) and quickly scan each set of code for it. Then, when you find a likely candidate, you have to read it in detail to make sure that you aren't wrong.

      My point is that the Google Code Jam is for more than experienced programmers who can quickly bash out simple algorithms - you have to be able to devise novel algorithms under time pressure and devise strategies based on the psycology of your fellow coders

    3. Re:Jimmy! by ricotest · · Score: 2

      Does anyone actually know who won the 'best Google application' contest? I heard nothing about the winners, the entries, or whether any of the entries are being used now in some form. Anyone care to help me out here?

  4. Why not... by StevenHenderson · · Score: 5, Interesting

    The 500 participants in Round 1 will receive a "Google Code Jam 2004, Powered by TopCoder" t-shirt. The top five scorers in the Championship Round will receive the following cash prizes

    Why don't they offer something like a job interview for those old enough to take it? Or even a job for the winner (with restrictions, of course)? Imagine how many people would rather work for Google than have the cash prize.

    1. Re:Why not... by upside · · Score: 5, Interesting

      They seem to imply something like what you suggest with "You might win some cash. You might wind up changing the world at Google yourself"

      --
      I'm sorry if I haven't offended anyone
    2. Re:Why not... by Tim+C · · Score: 2, Interesting

      Imagine how many people would rather work for Google than have the cash prize.

      That's fine for people who live near them, or are prepared to move, but what about those who aren't, say because they don't even live in the US?

      Living in the UK, I'd very much rather take the cash, personally.

    3. Re:Why not... by buttahead · · Score: 2, Informative

      There is an office in Dublin and Zurich. Google has offices all over the world... you might be somewhat close to one.

  5. oh great by KingPunk · · Score: 3, Insightful

    heh. thats all we need, people who can brag about how fast they can code.
    only problem, when coding in speed, many people make more errors
    its a proven fact that if you think through your objective 1st, and take a decent ammount of time doing so, you're more efficent.
    in fact, i believe it was in the mid-70s that the us govt, thought about increasing the work day from 8hours/day x 5days, to 10hours/day x 4 days to make it more productive for workers.

    1. Re:oh great by attam · · Score: 5, Insightful

      have you ever done a topcoder competition? it's about speed AND accuracy. sure the fastest person gets the most points, but a) if your code doesn't pass their system tests you get ZERO points and b) other people can look at your code, try to find faults and challenge it. if they challenge you and your stuff breaks (takes more than allotted amount of time, gets a corner case wrong etc) they get bonus points and you lost your points. i think this is a pretty neat system, and i dont think it's advocates bad practices. remember, these problems are designed to be solved quickly.

    2. Re:oh great by shmert · · Score: 3, Funny

      I tried topCoder for a while. Seems that writing obfuscated code is actually an advantage, since people challenging it will be intimidated by its complexity, and reluctant to challenge it. Possible mistakes are buried in junk.

      Somewhat unrelated, but one of the funnier rounds I saw was for a problem which had a small possible set of results. I don't remember the specifics, but someone posted the following code, baiting someone to challenge the result:

      public class CorrectDoor {
      public int whichDoor(String[] args) {
      return (int) (Math.random() * 10);
      // Do you feel lucky, punk?
      // Go ahead, then, challenge
      }
      }

      --
      You drank my drink, you drunk!
  6. In case of slashdotting by chris_eineke · · Score: 4, Funny
    --
    "All you have to do is be fragile and grateful. So stay the underdog." Chuck Palahniuk, Choke
  7. Caffeine by Threni · · Score: 4, Interesting

    Why would I want to `grab some caffeine`? Surely a good nights sleep is more conducive to concentration?

  8. Yearh... by beaviz · · Score: 3, Funny

    Lets give them a Slashdot traffic jam!

  9. Help me win by nearlygod · · Score: 4, Funny

    I'm offering $2,500 to anyone who can give my a idea that goes on to win. I am also offering $2,500 to anyone who can impliment said idea so that it results in winning the contest. Any takers?

    --
    The Tools Of Ignorance wanna be a tool?
    1. Re:Help me win by attam · · Score: 4, Funny

      undisputable proof that bill gates does read /.

  10. Quebecians by Anonymous Coward · · Score: 2, Interesting

    From the rules: The Google Code Jam 2004 is void in the Quebec province of Canada

    Could somebody inform me as to why?

    1. Re:Quebecians by Zardoz44 · · Score: 4, Informative
      I can't give you the details why, off the top of my head, but this is a standard rule for most contests in Canada or North America. There are special lottery rules in Quebec. It's been this way for as long as I care to remember.

      What those rules are, I don't know. I could look, but I don't really care.

    2. Re:Quebecians by mrtroy · · Score: 3, Informative

      I believe in Quebec contests have to have equal chances of everyone winning, with no purchase required. So, you cannot give a prize to whoever actually wins the contest.

      --
      [I can picture a world without war, without hate. I can picture us attacking that world, because they'd never expect it]
  11. No Perl? by CaptainBaz · · Score: 5, Interesting
    Use Java, C++, C# or VB.NET.

    No Perl?

    No Python?

    No ("cool" hacker language of the day)?

    How many real geeks are they going to attract?

    1. Re:No Perl? by Anonymous Coward · · Score: 5, Informative

      It is because those are the languages supported by TopCoder, which runs the coding challenges for many different corporate sponsors. Google's tournament just happens to be one of the higher-profile ones out there.

    2. Re:No Perl? by mondoterrifico · · Score: 3, Interesting

      How many real geeks are they going to attract?
      Thanks for the laugh. I didn't realize you people still existed. This isn't highschool where everyone "cool" dresses in black thinking they are the special ones.

    3. Re:No Perl? by Zwets · · Score: 2, Interesting

      'Real geeks' are language-agnostic and won't care much what language they use for this.

      Besides, some of the problems are presumably very processor-intensive (they mention chess problems) so a compiled language would be a better choice for that.

      --
      One of the lessons of history is that nothing is often a good thing to do and always a clever thing to say. - Will Duran
    4. Re:No Perl? by lachlan76 · · Score: 5, Funny

      with VB6, which was a steaming pile of crap

      VB6 has helped me quite a lot - NOTHING else has motivated me to learn C++ like VB6. *NOTHING*

    5. Re:No Perl? by CaptainBaz · · Score: 2

      Ha.

      In the UK, everyone wears uniform at high school, but I know what you mean.

      What I was actually alluding to was the fact that modern 'hacker/geek' languages like Perl or Python will often let you solve problems more quickly than eg. Java with its strict typing.

      Given that the competition is effectively a race against time, it's a shame that you don't seem to be allowed to use a language designed to help you accomplish these things more quickly.

      And yes, interpreted languages will be slower than compiled ones, but with Java's JVM and .NET's sprawling mass of runtime libraries, the difference may be less than you think.

    6. Re:No Perl? by Peter+Cooper · · Score: 3, Interesting

      So you're saying that Google isn't full of 'real geeks'? I'd disagree, since it's well known they use Python and Perl in house.

      Furthermore, languages like Python and Perl are far better known for doing Google-esque tasks than all of the languages in that list except C++.

      There are a lot of insanely great Python and Perl programmers out there who'd need to do a few months' hard study of those other languages to be able to get up with there with the best in, say, C#.. and then find that they still need to use their old languages for all their regular work anyway.

      Let's face it, this contest isn't designed for the best of the best to enter, it's designed for the best in C++, C#, VB.NET, and Java, which is a different thing entirely.

    7. Re:No Perl? by Peter+Cooper · · Score: 3, Insightful

      Perhaps they're not looking for people with true creativity or passion, because those people are already working on their own projects.

      What they're looking for are typical Java, C#, and VB.NET (I'm excluding C++, as it's a catch-all) programmers who might be excellent coders, but typically lack originality and need to be spoon-fed with problems which they can then solve with some rapidly produced code.

      The true masters out there aren't spoon-fed problems; they find the problems and then they solve them independently of the programming language. Google are looking for code grunts to do maintenance work. They already have the 'big minds' in the form of the many PhDs on their staff.

    8. Re:No Perl? by Peter+Cooper · · Score: 2, Informative

      I've been a Perl coder for eight years, C for thirteen, and can get by in VB.. but there's no way I'd want to do high level data parsing in C or VB!

      For a start, Perl is designed for the job. C is amazing for developing kernels, and doing low level stuff, but for parsing text? I think not. You can bash out a single line in Perl that would take 100+ lines to do in C or VB (unless you got some sort of regular expression control for VB, which might be against this contest anyway).

      Use the tool for the job. Being language agnostic is not a bad idea when you begin a project, but it's pure idiocy to stick with a single language throughout and claim its cool because 'oh well, languages don't matter, ideas do'.. some languages are far better at certain things than others!

    9. Re:No Perl? by Idarubicin · · Score: 2, Funny
      How many real geeks are they going to attract?

      All the ones that would sell their souls to be noticed by Google?

      There are more than a few 'real' geeks that would write the code in BASIC while in a barrel going over Niagara Falls in exchange for a chance to work for Sergey Brin.

      --
      ~Idarubicin
  12. So, will they take the winning app and block it? by mbourgon · · Score: 3, Insightful

    I can see it now - something like the GoogleMail FS comes out of it, only to get blocked like the notifiers are.

    --
    "Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
  13. How to win prizes by Radiate · · Score: 2, Funny

    Use Google for flooking up the answers.

  14. Challenge #1: Re-write the interface by Tarwn · · Score: 4, Informative

    yep, thefirst challenge will be to rewrite the TopCoder interface to convince it that it does not need 100% of the CPU...that 5-10 second pauses while your typing code should NOT occur...that in a timed competition it is not reasonable to make someone go back and retype something 5 lines earlier simplybecause the interface froze up...

    I mean crashes are on thing, you would expect the connection to get lost occasionally (try every time I have tried to do a practice problem), but c'mon, who hosts a coding competition with an interface that idles at 100% CPU usage?

    -T

    --
    Whee signature.
  15. Chickens won't even allow Jython by Baldrson · · Score: 3, Interesting

    If you aren't going to allow any of the major dynamically typed langauges like Python or Perl or even Jython (if you're really stuck on those libs), then isn't it an admission that Paul Graham is right and that Google's programming contest is simply an example of subgreatness?

  16. The link to Paul Graham's Python Paradox on /. by Baldrson · · Score: 2, Informative
  17. Re:2003 Summary by Anonymous Coward · · Score: 3, Funny
    Where is the 2003 summary at the summary link? I can't find it.

    You can't find a web page for a competition sponsored by google?

    Hmm, I wish someone would invent a way to search the web...

    Sorry, but you have been disqualified from the competition.

  18. Why is this a "programming" challange? by clambake · · Score: 3, Insightful

    I read through the various sample problems, and I see nothing at all resembling a "programming challenge". Sure there are algorithms that need to be written, but it's just that, algorithms and logic. Things you can write down on a sheet of paper in long hand. The only reason programming is involved in any way, shape, or form is because it's an easy way to test people's algorithms, not becuase it's a fundamental part of this "challenge".

    I offer that a mathematician who has never in his life even SEEN or HEARD of a computer could solve these problems, all of them, without a line of code. How then can this be considered a "programming" challenge?

    A REAL programming challenge would deal with the real problems that programmers face: memory leaks, error correction, fault tolerance, user interface design, maintainability, speed, scalability, efficient object model design, database schema design, etc.

    It's unfortunate that people look at these contests and think, whoah, that dude must be some hot shit programmer to be able to solve that! But really, he could be a crap programmer (hell they offer VB.NET for gosh sakes!) and just took a whole lot of logic and calculus. That doesn't mean if you hire him he'll do a damn bit of good for your company. It doesn't mean that any project he works on will be in any way maintainable. In fact, more likely than not, any code he writes will be only understandable by him and will turn into a taboo "don't touch it becuase it'll break if you sneeze" mess that costs endless amounts of pain and money.

    I wish for once I saw someone have the intelligence to put out a REAL *programming* challange. One that requires you to think about entire systems, about design and IMPLICATIONS of design, about the subtle balance between speed and stability, about the umpteen million things that divides the '1337 h4X0r who is brilliant but considers random crashes to be expected from the professional and vastly underappreciated programmer who's work is so rock solid that he doesn't need a pager for the weekends. THOSE are the people who should be getting the props.

  19. Google's new profit plan by KillaKen187 · · Score: 2, Funny
    1. Don't hire real coders, but have a contest with hacker community during their free time.
    2. Make contest problem related to business related objectives and take code to hired code "fixers" to intergrate into current products
    3. PROFIT (and happy shareholders)

    Sounds a little like the movie Antitrust to me, but who am I to judge, "Don't Be Evil" ohhh I mean Google

  20. What can a programmer/architect do in a year? by presidenteloco · · Score: 2, Insightful

    If I were google, I'd be a lot more interested
    in what a programmer/software systems architect
    can accomplish in a year than in a day.

    A day is totally random.

    Also, shouldn't the candidate's creativity
    at originating novel ideas count for something
    and not just their "well-studied code mechanic"
    skills?

    Spoken from the perspective of someone who used
    to get ~100% on the portions of tests that I
    completed in the allowed time for the test.
    Unfortunately, I only completed the first
    80 or 90% of the test because I thought more
    like an Ent than like a squirrel.

    So what was my ability? 98%, or 85% ?
    I suppose for all those relatively trivial
    problems that I have to solve in 1 hour or
    less (strikingly few problems like that in
    s/w eng. in my experience) I'm only an 85%er.

    Usually I only have to solve problems in
    real-time when someone else has screwed up
    their planning phase (e.g. let's do this
    live important demo before ever trying it
    first.)

    I think out of the code jam, google will
    find very good plumbers. Maybe what they
    need to find are software people who are
    the equivalent of Rem Koolhas
    or Daniel Libeskind (or Sergei Brin and Larry
    Page). You won't find them entering
    1-hour or 1-day coding sprints.

    --

    Where are we going and why are we in a handbasket?