Slashdot Mirror


14-Year-Old Wins International Programming Contest

marcog123 writes "The International Olympiad in Informatics was held earlier this week in Bulgaria. The IOI is a programming competition for high school learners up to 20 years of age that has a focus on problem solving and algorithms. It was won by 14-year-old Henadzi Karatkevich of Belarus (PDF, list of gold medalists), beating the world's top high school programmers, including 18- and 19-year-olds, to become the youngest winner in the IOI's 21-year history. Competition is really tough, with some countries taking months off school to concentrate only on IOI training. Henadzi first entered the IOI in 2006 when he was only 11 years old and won silver (missing gold by only six points). He won gold in 2007 and 2008. He has the opportunity to enter for the next three years; that is, unless he follows the path of Terence Tao, who won IMO gold at 12 and then went to university the following year. If he continues his current streak, he will easily surpass the current record of six IOI medals by South Africa's Bruce Merry."

141 comments

  1. Learn as hobby, not at school by sopssa · · Score: 4, Interesting

    This just shows more about the fact that those who are great programmers are so not because of school, but because they have interest on it on their own. My own school was kind of a joke - everyone just played flash games during hours and did the least amount needed, while it was quite standard stuff too. I started programming at 8 years old, pretty much after I had learned to read (quick basic stuff obviously, but still). However atleast I had a nice teacher that understood my side aswell and let me do my own stuff like 3D game programming during the hours as long as I did the final test. Truth is most of people are quite non-intelligent about that stuff on schools, unless they do programming as a hobby.

    And I can bet I was better at programming at 14 too then they were at 18 (as self conscious as that sounds). Fact is, if you're really interested on things and do it as hobby and just for fun, you will be even better than most adults are . You may lack some experience, but thats 50/50 good and bad. It's what enables you to do new things.

    That being said, as this is international programming and problem analysis competition the others we're probably quite good aswell, so lots of kudos for Henadzi for winning it. You will have a good future.

    1. Re:Learn as hobby, not at school by Eudial · · Score: 4, Interesting

      The crux is that you really can't teach programming. A good programmer has an intuitive feel for how to solve a problem. You can't get that from lectures and books. I started programming early as well, and I did stuff in my first year of high school that many first year college CS students would struggle with. Don't get me wrong, in retrospect, it was pretty terrible code, but when push came to shove, it worked, and I got to walk into traps and discover concepts 5-6 years earlier than your average school-brewed programmer.

      Getting back to the point, teachers can at best help you teach yourself programming. But even then, only so far.

      In that sense, programming is a lot like art (even though I don't consider programming art, it's a craft at best.) You really can't learn how to be a painter from books either. They can set you in the right direction and open your mind to new possibilities, but in the end, practice is the only way to get anywhere.

      --
      GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
    2. Re:Learn as hobby, not at school by Co0Ps · · Score: 1

      How does this support this fact? Do you have a quote from the winner where he states that he only learned this just becouse he was intrested and it was his hobby?

      Becouse I can bet my ass that it's the complete oposite. Just becouse you learned all programming by yourself and your school sucked doesn't mean this guys programming education did. First of all, when you're young programmer you're probably a lot more intrested in WHAT you can make the programs do rather than HOW to do it efficiently/quickly. Becouse the later part is what algorhims is all about and what gives you a medal in this contest. A web developer or a functional programmer wouldn't stand a chance here as normal programming only in rare cases involves advanced algoritms like maximum bipartite matchings, maximul flow or other graph related algorithms.

      The people who win this competition, usually get special training and/or go to programming camps. They get programming education that are actually challenging which focus on algorithms and not how you compile a working calculator. Programming education that works. I had programming classes here in Sweden and all of them was a huge failure, but that wasn't becouse education programming are bad by itself but becouse it's usually horrible implemented.

    3. Re:Learn as hobby, not at school by Anonymous Coward · · Score: 0

      The crux is that you really can't teach programming. A good programmer has an intuitive feel for how to solve a problem.

      Obviously that does not mean that you cannot learn it. Some people learn by reading books, but I would say there are many more who actually learn by trying again and again. That's pretty much what homeworks seem to be for.

      Besides that, we had our first grade in CS in school in 10th grade. I picked it up by myself before that, which happens for a lot of people, because the 10th grade is not very early in your life. However I would say, if school would introduce mathematics to you that late, the same reasoning applies: Some people pick it up before, are better than (taught) average, leading to the conclusion that mathematics cannot be taught. It's wrong.

    4. Re:Learn as hobby, not at school by sopssa · · Score: 1

      He is 14 years old. There's no school in world that teaches advanced programming and problem solving at that age. Hell, even the math at that age is quite standard and easy. It's obvious he learned it by motivation, not from schools.

    5. Re:Learn as hobby, not at school by Ann+Coulter · · Score: 1

      A web developer or a functional programmer wouldn't stand a chance here as normal programming only in rare cases involves advanced algoritms like maximum bipartite matchings, maximul flow or other graph related algorithms.

      Functional programmers will stand a better chance in these competitions. It is arguably easier to implement graph algorithms in functional programming languages than in imperative programming languages. There are proportionally more functional programmers who have a firm grasp of algorithm design and implementation than programmers who have not used functional programming languages.

    6. Re:Learn as hobby, not at school by ZombieWomble · · Score: 2, Insightful
      I think you're underestimating how seriously some countries take these events - while I'm sure he got started in it because he was interested in programming, preparation for these events typically involves collecting the best talents from national events and putting them through rigorous training (in the interview pdf linked above, he mentions the training camps they use to select the people they send to the event).

      This goes quite a bit beyond "schools", to be sure. But if you think competitors in these events are entirely self-taught and doing it just for fun, you're quite mistaken.

    7. Re:Learn as hobby, not at school by Jurily · · Score: 4, Insightful

      The crux is that you really can't teach programming. A good programmer has an intuitive feel for how to solve a problem. You can't get that from lectures and books.

      That's because books and lectures miss the most important aspect of it all: imagination. Programming is basically daydreaming with rules.

    8. Re:Learn as hobby, not at school by lawpoop · · Score: 1

      The crux is that you really can't teach programming.

      I was going to qualify this, but you know, you nailed it. In programming, beyond your basic loops and syntax, is a completely unique problem, and you are probably the only person in the universe who is ever going to encounter it. What you have to do is start figuring out how to solve problems.

      Now, a teacher can help get you trained for solving problems, by giving practice problems and walking students through the frustration of solving them, but ultimately, a programmer has to be able to diagnose and creatively solve their own problems.

      --
      Computers are useless. They can only give you answers.
      -- Pablo Picasso
    9. Re:Learn as hobby, not at school by TheCouchPotatoFamine · · Score: 1

      Computer Science is not an Art?

      Pardon me, but anytime you want to express an coding idea from one person to another, anytime you make an API that must then be understood by another, you are in the realms of art, because it is precisely the beauty of a system that (should!) drive you to use it.

      Beauty is a way of judging survival in people as it is in code.

      --
      CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
    10. Re:Learn as hobby, not at school by Eudial · · Score: 1

      I disagree. Programming is both a theoretical and a practical skill. While you can learn the theoretical part from books, you can not learn the practical part that way.

      --
      GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
    11. Re:Learn as hobby, not at school by Yvanhoe · · Score: 1

      Isn't it true of any field ? School can turn someone into a passable professional. It can also turn a brilliant amateur into a brilliant professional.

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    12. Re:Learn as hobby, not at school by aniefer · · Score: 2, Interesting
      Programming is a lot like Math, you can put the time in, but some people just don't grok it.

      There is an interesting article here which holds up pointers and recursion as two things in programming that a lot of people never really understand.

    13. Re:Learn as hobby, not at school by iluvcapra · · Score: 1

      Hi, commerical artist and occasional coder here.

      Pardon me, but anytime you want to express an coding idea from one person to another, anytime you make an API that must then be understood by another, you are in the realms of art

      It's an interesting thought, but it sounds more like you're describing "elegance" or "inspiration." A lot of jobs in the information age require a suceptibility to inspriation and original thinking, thought we can take it too far sometimes. When you get a sandwich at Subway, it's made by someone who's technically called a "sandwich artist" after all. I'm sensitive to people's need for creative recognition, but I'm not sure I'd go so far as to call the guy making the sandwich an "artist" simply by dint of the fact that he's being original or taking pride in his work, or doing it in a stylish and attractive matter. A critical piece of "Art" with a capital A is exhibition, and encounter or dialogue between the artist and his society. I'm not sure computer APIs are "exhibited," except to an esoteric elite, and I've yet to see an API that actually caused me to reexamine life, or my relationship to society or the world.

      That said, CS says a lot about who we are as a people, our supposed rationalism, our alienation, our prejudices, but just because computer science is a significant cultural artifact doesn't necessarily mean it's a modality for individual creative expression. I'm imaging a class 50 years from now, where a professor quizzes his students on how a programmer's use of Delegate pattern was indiciative of his anti-establishment attitudes and his foregrounding of the Other, and how another programmer who used continuation passing style was really a misogynist, because passing activation records is a metaphor for castration anxiety...

      --
      Don't blame me, I voted for Baltar.
    14. Re:Learn as hobby, not at school by oldhack · · Score: 2, Informative

      Problem is that guys like you think you're special. Bit of talent, (continuing) education, and putting in the efforts turn out competent programmers, and those are the ones in demand in mass, not some "special" people.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    15. Re:Learn as hobby, not at school by Me!+Me!+42 · · Score: 1

      "What is art" is a such a controversial and little understood area of philosophy (admittedly I don't consider myself adequate to the task really understanding all the issues.)

      Coming from the design world (product, exhibit, and interface design,) which are definitely crafts but not art, I'd take exception with you both (TCPF and Iluvcapra) to varying extents. Contrary to how many see it, art is not centrally about "communication." I think most artists would agree that their art is for themselves and that it is about the process rather than the destination or the communication. In the end, if it communicates and/or is appreciated that's great, but its not the point (poetry might be the major exception I can think of.) Why? Because art is about the artist's experience, process, and vision, not those of the viewer.

      As soon as it becomes about communicating a message, producing multiple copies, making money, etc. It leaves the realm of art and enters the area of commerce (commonly referred to as "commercial art" or design-- but not really art.) Why? Because when it becomes about the viewer, the viewer effectively controls or edits the work of the artist. The only reason "artists" attend to clients, commissions, and communication success is to obtain money to live and make art. Beyond that it becomes the realm of business etc. Why? Because when it becomes about the viewer, the viewer effectively controls or edits the work of the artist, effectively undermining their vision and process.

      That said, there is no reason coding algorithms cannot be a tool or medium of artistic self-expression. It just depends on how it's done and what the intention is (And BTW, I think the art lies more in the conceptualization than in the coding itself.)

      --
      -- My apologies if the above facts contain any opinions, or vice versa! --
    16. Re:Learn as hobby, not at school by eharvill · · Score: 1
      From the summary -

      Competition is really tough, with some countries taking months off school to concentrate only on IOI training.

      I think that implies there is more to this than self-motivation and there *are* specialized schools for this stuff for kids that age.

      --
      At night I drink myself to sleep and pretend I don't care that you're not here with me
    17. Re:Learn as hobby, not at school by Me!+Me!+42 · · Score: 1

      Sorry. (In editing I failed to delete my first "Why? Because when it becomes about the viewer, the viewer effectively controls or edits the work of the artist." just mentally delete it.)

      --
      -- My apologies if the above facts contain any opinions, or vice versa! --
    18. Re:Learn as hobby, not at school by pjt33 · · Score: 4, Insightful

      Computer science is not programming. It's an area of mathematics. API design is software engineering, not computer science.

    19. Re:Learn as hobby, not at school by eyrieowl · · Score: 4, Insightful

      Wrong. That's how I end up seeing lots a crap code. *Designing software* is daydreaming with rules. Programming is a different activity. Programming is engineering. Engineering is not fundamentally about imagination, it is ENTIRELY about rules. You don't daydream a bridge, you engineer one. You might daydream some design features, but then you implement them with engineering. Books and lectures teach competent people how to be competent engineers. That is true for bridges and it is true for software. Books alone do not teach people how to be good designers, it's a talent which can be grown but can not be fully imparted. I think people who confuse the two do a TREMENDOUS disservice to the world.

    20. Re:Learn as hobby, not at school by Anonymous Coward · · Score: 0

      No, the problem is guys like you who hire the people who barely scraped through the classes, don't care about learning anything new, and only make "good team players" - and then wonder why software today is unmitigated shite.

    21. Re:Learn as hobby, not at school by oldhack · · Score: 1

      Oooh, another "special" AC. What have you built?

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    22. Re:Learn as hobby, not at school by iluvcapra · · Score: 1

      Contrary to how many see it, art is not centrally about "communication."

      I'm not sure you've completely explicated this, because...

      As soon as it becomes about communicating a message, producing multiple copies, making money, etc.

      This is a non sequitir, it does not follow that the act of communication is tantamount to commerce. They are completely different things, there's a relationship but you're implying that any artist who is trying to communicate a message is simply prostituting himself for economic gain, or that the only true art is art that is a pure expression of the self. This is pretty contentious, particularly for folks who remix other people's works, and for people like me, who are sorta skeptical that there is such a thing as the self. The "Fountainhead" interpretation of the role of the artist in the end is pretty limited, and is bound up in a lot of trendy social ideas about individualism that are pretty parochial to the US.

      Because when it becomes about the viewer, the viewer effectively controls or edits the work of the artist, effectively undermining their vision and process.

      Well yeah, that's the idea. If there's a medium and a signifier, there's a signified, you can't really get away from that. And if the work has no significance, then the vision doesn't get out of the artist's head, and if it does have significance, the reader of the signs constructs his own model of the vision. The challenge of the artist is the use signs to convey his vision so that it lives intact outside of his mind, in the only other place a vision can live, in the minds of others.

      (And BTW, I think the art lies more in the conceptualization than in the coding itself.)

      Hmm, I'm not sure you can have an artwork without a text, or actual physical object. But there I go again being all semiotic.

      --
      Don't blame me, I voted for Baltar.
    23. Re:Learn as hobby, not at school by Jurily · · Score: 4, Insightful

      Mere words cannot describe how wrong you are. How are you going to write good code without having a mental image of your data structures? How do you understand someone elses code in the first place?

      You seem to think imagination is something artsy people use to decide the color of the carpet. I say it's a fundamental component of learning, understanding and creating everything you associate with science.

    24. Re:Learn as hobby, not at school by Have+Brain+Will+Rent · · Score: 1

      That is so mistaken it is hard to know where to begin addressing it. Personal interest will provide motivation to learn. That's it. Period. End of story. Don't confuse desire with ability - they aren't the same thing at all. After that it is about learning. One of the things you learn is problem solving approaches. This is fundamentally no different than if the subject was, for example, calculus. You learn logic (in the formal and colloquial senses of the word). You learn how other people have already solved many (most?) of the problems you will face. You learn which problem are tractable and which aren't. None of this has anything to do with coding but is fundamental to programming. CS is math and programming is applied math. Some might have more aptitude for it than others but believe me you still need teachers - at the very least because, unlike the student, they have a clue about what needs to be learned. Hopefully they aren't poor teachers but even most poor teachers will have a more informed perspective than the student.

      As for the rest I'll let someone else respond to that. Though I do wonder what "great programmer" means to you.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    25. Re:Learn as hobby, not at school by Javagator · · Score: 3, Interesting
      You seem to think imagination is something artsy people use to decide the color of the carpet

      I agree. I once worked on a project with a group of scientist. There was one guy there that everyone (even other scientists from prestigious universities) talked about with awe. He could keep a thousand details in his head. He developed his software quickly, it worked, and was mathematically correct. However, it was difficult to use or re-use his code. It just didn't have the organization or modularity needed. It takes artistic talent (for want of a better term) as well as mathematical ability to develop good software.

    26. Re:Learn as hobby, not at school by Anonymous Coward · · Score: 0

      I'm not that AC, but I tend to agree.

      I've been a developer and manager in commercial software for a couple of decades, so I think I've got some experience. It's quite possible that you've used some of the products I've worked on and/or invented, and possiby you've even complained about some of them here on slashdot.
      There's even been a recent web 2.0 spurt of companies basing their services off of something I'd written with a very small team, called it done, and moved on. In that case, a financial and market "failure" for the product, but worth many millions to people we let use it for a different purpose.
      I'm not going to bother naming them, but it's a glorious feeling to make a product and see it live for a long time, keeping both the teams that work on it, and the users who are more effective at their personal lives thrive on some of my inventions. That's just not going to come out of common developers.

      In the early 90s, there was a huge upswell of people getting into the field because it was a good job. The folks I knew in the industry before then were there because it was the thing that made their brains sing, and they could learn anything they needed because their nature was keenly in tune with the logic of programming. Many of the newer arrivals knew what was in the books, but they just couldn't adapt.

      The rare "Great" programmer is worth more than 10 "regular" programmers because not only can the Great programmer outcode a handful of uninspired but trained programmers, the Great programmer can do things that the "regular" programmer never will be able to. I'm not talking about Architecture Astronaut stuff here, either...I don't particularly appreciate that overelaborate sort of thing. But you put a difficult real-world do-or-die problem in front of a great developer, and they can come up with an effective and robust solution, when the alternative is no answer, followed by an excuse at the termination of the project.

      Now I'm not saying that there's not a use for rank and file who got into the field because it looked like a good career, and got the training needed to get a job. There's plenty of basic stuff that needs to be done, and you want to have the few "Greats" working on problems that are critical, not on aligning text in a dialog box.

    27. Re:Learn as hobby, not at school by Anonymous Coward · · Score: 0

      It's quite clear that you guys have no idea what IOI is actually about. Among other things, in such contests as IOI the only available programming languages are Pascal and C/C++. If I'm not mistaking, one or two years ago Henadzi was using Pascal and still got a gold medal. This is just one of the many examples why in order to succeed here one needs inspiration and abstract thinking rather than coding skills. Furthermore, I know many past IOI medalists who became theorists. :D

    28. Re:Learn as hobby, not at school by mikiN · · Score: 1

      Sadly, I believe that article is quite out of date. Pointers and recursion are so passé to most IT

      I think today's programmers are said to be horribly out of it when they don't know how to apply the Distributed Observer Pattern to RESTful business logic as a ROA with declarative state transformation rules.

      I'm such a useless old fart to today's programming requirements that I'll content myself with some lowly kernel hacking, SAT solver tuning and code optimization.

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    29. Re:Learn as hobby, not at school by mikiN · · Score: 1

      $ ed parentpost
      474
      1
      Sadly, I believe that article is quite out of date. Pointers and recursion are so passé to most IT
      s/most/current/
      s/$/./
      1
      Sadly, I believe that article is quite out of date. Pointers and recursion are so passé to current IT
      wq
      478
      $

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    30. Re:Learn as hobby, not at school by turing_m · · Score: 1

      I don't think he ever said that imagination was not necessary - his point was that it was necessary, just not sufficient. He specifically stated that you needed to be competent/talented or the books won't help at all. But if you are imaginative, it is necessary to be able to get your code polished to whatever point is useful - e.g. to work in all situations that will arise, to be easily maintainable by other people if other people will need to maintain it, etc. I think for these sorts of things you need exposure to the work of other people, even if it is just reading other people's code (not books, per se) to see what is elegantly written and what is ugly so you can learn by example. Even man pages were written by other humans.

      "The secret to creativity is knowing how to hide your sources." -Einstein

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    31. Re:Learn as hobby, not at school by eyrieowl · · Score: 1

      I think I'll have to settle for mere words in my rebuttal: not to split hairs, but it sounds like you're describing "intelligence", not "imagination"...at least, that's how I'd define it. By the definition you seem to be implying, imagination is necessary for not just science (as you note), but for creating everything: science, history, literature.... I suppose you could say that I was agreeing with you when I said that the books required "competent" learners. :)

      By imagination, in this context, what I mean is the ability to create good abstractions, to envision how different abstractions relate to one another. Having that ability can certainly help one to be an excellent programmer, but it is not necessary to be a competent one. There are plenty of large projects I've seen functioning, and well, where there are leaders with good "imagination" who design the abstractions, who task individual programmers to implement a particular function, and who then review the programming to make sure it didn't do anything stupid. The people who end up doing those implementations aren't idiots, they're competent programmers, but I wouldn't dare trust them to design a large system if I cared at all about getting a good result. I think on a small project, you often can't afford to have programmers who aren't also competent designers, or "imaginative", but on a large system it is often necessary--it is often simply too difficult to staff a large project with a full bevy of "imaginative" experts.

      Finally, I'd like to note that I've met lots of people who are actually quite good at understanding abstract designs, but who are terrible (or just passable) at creating them themselves. They often make excellent team-members because they can work well with the design you give them--they're often excellent coders--and they're very capable of understanding the implications of how different inputs will effect the system. Do those people lack imagination? By your definition, probably not. By mine, yes. They have good abstract reasoning, but I would differentiate that from imagination. I view imagination as a creative activity, "imagining" something new, and abstract reasoning as a function of intelligence.

    32. Re:Learn as hobby, not at school by FingerSoup · · Score: 1

      Programming can be learned by book.... It just requires a computer to practice on as well. Hands on experience along side a good book can teach anyone. The fact is, most people CAN start to think in simple, logical and sequential steps already, and once you write out your idea, you can translate it into code. from there, you optimize.

      Likewise, you can take code in the book and tinker with it. Reuse concepts until you understand it... In the end, you will be able to read code, Mimic the code, and eventually write your own code. All this can start from a book, then progress into a strong understanding of code.... Having never been taught by a human being. Programming theory is very similar to practical coding... ie: What is a loop? Code that repeats. How do I do it? for (x=0;x < y;x++) { }; Theory and skill taught, now go adapt.

    33. Re:Learn as hobby, not at school by sshumaker · · Score: 2, Insightful

      You can't really separate 'programming' from 'software engineering'. Developing software is a holistic process - it requires problem-solving ability, strong synthesis and analysis skills, excellent judgement, and a healthy dose of imagination. At every point, you have to decide between dozens of different trade-offs - between scalability and performance, robustness and readability, maintainability and development time. Good programmers are the ones who can balance these attributes to craft the right solution for the problem at hand. Great programmers are able to redefine the problem entirely.

    34. Re:Learn as hobby, not at school by Anonymous Coward · · Score: 1, Interesting

      Talented and driven individuals were responsible for Google search, Photoshop, Linux, the Amiga home computer and thousands of other high quality products.

      Your turn. Name some quality product built by merely "competent" programmers working in a corporate environment.

    35. Re:Learn as hobby, not at school by syousef · · Score: 2, Insightful

      There was one guy there that everyone (even other scientists from prestigious universities) talked about with awe. He could keep a thousand details in his head. He developed his software quickly, it worked, and was mathematically correct. However, it was difficult to use or re-use his code. It just didn't have the organization or modularity needed. It takes artistic talent (for want of a better term) as well as mathematical ability to develop good software.

      If it wasn't modular it wasn't good software. It may have been an elegant and correct solution to the problem, but it was not good software.

      --
      These posts express my own personal views, not those of my employer
    36. Re:Learn as hobby, not at school by SL+Baur · · Score: 2, Informative

      The crux is that you really can't teach programming. A good programmer has an intuitive feel for how to solve a problem. You can't get that from lectures and books.

      You can kinda sorta, but you're still missing something. You have to choose your books carefully.

      http://www.amazon.com/Elements-Programming-Style-Brian-Kernighan/dp/0070342075
      http://www.amazon.com/Psychology-Computer-Programming-Silver-Anniversary/dp/0932633420
      http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959

      programming is a lot like art

      Very much so. Those with a passion for it always rise to the top. (I know I'm quoting you out of context, you were right before you added in all the weasel language).

      in the end, practice is the only way to get anywhere.

      Exactly. But isn't that true with anything worthwhile?

      What you're missing is that writing new code is only a tiny facet of being a Real Programmer. Requoting:

      A good programmer has an intuitive feel for how to solve a problem.

      I add: and can get an intuitive feel for how a body of code does (or needs to) work.

      Unless you're just a hit & run coder, you'll spend the majority of your career doing software maintenance or be dealing with some different aspect of the software life cycle. Developing the ability to fix issues in software that you haven't written, quickly, is the ticket for always having people willing to pay you for doing what you want to do in the first place.

    37. Re:Learn as hobby, not at school by SnEptUne · · Score: 1

      It depends on the problem. Sometimes, modularizing a performance critical part of a real time software just does not make sense, especially if that function will never be used anywhere else.

    38. Re:Learn as hobby, not at school by Me!+Me!+42 · · Score: 1

      Good points,

      As I see it, it's all about priorities and degree. Communication requires closing the feedback loop and that moves us into a new realm. When the audience can change the signal there is no need for an artist and there effectively is no art. Heading down that path leads one to deem advertisements or the crafty kitch stuff at your local art fair as art. (And there are many who would argue this way. But that looks like an intellectual cul-de-sac to me.)

      Also when I said "the art lies more in the conceptualizing than in the coding itself" I was saying that the idea and the specification are where the creative spark is. Coding is a technical execution --more like craft. Unless you are looking at the text of the code and admiring it, I don't think the coding is the art. Typically though, the folks who consider themselves "artists" in this area do everything, soup to nuts.

      --
      -- My apologies if the above facts contain any opinions, or vice versa! --
    39. Re:Learn as hobby, not at school by oldhack · · Score: 1

      Are you stupid? Some exceptional people managed to build some exceptional products. That somehow proves competent people can't do competent work?

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    40. Re:Learn as hobby, not at school by badkarmadayaccount · · Score: 1

      Are modularity and performance mutually exclusive? All modularity is lost during compilation and linking.
      So, 10000 tiny functions <operator type="logic">OR</operator>
      one gi-fucking-normous main(), with any half-descent optimizing compiler, should yield the same binary, all else equal.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    41. Re:Learn as hobby, not at school by Optimus6128 · · Score: 1

      Well, exactly!

      I see a lot of informatics students in my place finishing their studies and telling me that they don't like programming. Some of them can't understand how I can start from scratch, from a blank piece of paper or monitor, read a programming problem, visualize the whole thing in my mind and like some kind of magic intuition the solution and right way to write this thing down comes in an instant. I didn't understood it was a talent till I tried to teach programming to some people and they wondered how did I instantly thought of the right solution and how did I avoided things not to do. For me the solution to the problems were obvious.

      But then I remembered. I have been studying maths in the university but I never became able to solve those mathematic problems that need intuition to find the right path and avoid traps. In the same awe I am watching those math geniouses who somehow out of a magic intuition they instantly find the right path to the solution.

      That's because for ten years I was waking up from my bed and thinking hard and obsessively on programming problems, algorithms and stuff that I wanted to code. While at the same time not being interested in solving the next math quiz. Instead of studying I was coding. But they don't teach you the intuition at university, just the theory and some practical exercises, if I ever wanted to be good at that I should be thinking of mathematical problems like crazy every day. I prefered programming problems instead.

      And it shows that intelligence is not universal. I am very good at solving programming problems but at the same time too bad with math problems.

      Now if all those informatics students were spending their time on programming as a hobby? But no, most students just want to have a life :)

      --
      The "H-Word" has died for me.
    42. Re:Learn as hobby, not at school by SnEptUne · · Score: 1

      Sorry for the late reply, but what I meant was that at contain point, you can either have high cohesion, or loose coupling, not both. In real time application, high cohesion maybe more important than loose coupling. Of course, you can go for both low cohesion and tight coupling, but I am assuming the programmers are competent people.

  2. Ah, great for us! by Anonymous Coward · · Score: 5, Funny

    Perhaps he can fix slashdot

    1. Re:Ah, great for us! by Anonymous Coward · · Score: 0

      HA HA HA!!

  3. Am I missing something? by Anonymous Coward · · Score: 2, Insightful

    "It was won by 14-year-old Henadzi Karatkevich [...] to become the youngest winner in the IOI's 21-year history. [...] Henadzi first entered the IOI in 2006 when he was only 11 years old and won silver (missing gold by only six points). He won gold in 2007 and 2008."

    Wasn't he younger when he won in 2007?

    1. Re:Am I missing something? by dexmachina · · Score: 4, Informative

      Gold is a category of a winners, not the outright winner. He was the overall winner this year.

    2. Re:Am I missing something? by jschen · · Score: 1

      Many of the high school science Olympiads are rather generous with medals. I don't know about IOI, but the International Chemistry Olympiad gives out golds to about 10% of the competitors, silvers to the next 20%, and bronzes to the next 30%, leaving only 40% without a medal.

    3. Re:Am I missing something? by Jeff321 · · Score: 4, Informative

      From the Wikipedia article:

      "The top 50% of the contestants are awarded medals, such that the relative number of gold : silver : bronze : no medal is approximately 1:2:3:6 (thus 1/12 of the contestants get a gold medal)."

  4. That's curious by rumith · · Score: 5, Interesting

    If you look at the history of IOI winners (especially multiple winners, found at the Wikipedia entry, most of them originate from former Soviet republics and Soviet-aligned countries (i.e. Eastern Europe). I currently fail to provide an adequate explanation for this phenomenon: yes, there are plenty of talented programmers in Russia, but as far as I can tell, software industry per se is virtually non-existent there (at least compared to the US).

    1. Re:That's curious by Anonymous Coward · · Score: 0

      We're just smarter than you. It's just that simple.

    2. Re:That's curious by raybob · · Score: 1

      We make with C, no problem.

    3. Re:That's curious by Eudial · · Score: 1

      If you look at the history of IOI winners (especially multiple winners, found at the Wikipedia entry, most of them originate from former Soviet republics and Soviet-aligned countries (i.e. Eastern Europe). I currently fail to provide an adequate explanation for this phenomenon: yes, there are plenty of talented programmers in Russia, but as far as I can tell, software industry per se is virtually non-existent there (at least compared to the US).

      My hypothesis is that before the Soviet fell, there really wasn't a lot of personal computer technology available to Vladimir Sixpack. And that was only some 20 years ago, so the current generation of former Soviet adolescents are among the first to have grown up with computers.

      --
      GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
    4. Re:That's curious by Anonymous Coward · · Score: 0

      You assume your local software shelves represent the entire planet? How about you getting a passport and travel around the world for a while? You will be surprised the homogenized US product selection is not representative of what's available to the other 6 billion people.

    5. Re:That's curious by Eskarel · · Score: 1

      Well it could be because, as far as I can tell, this meaningless high school contest is held in Bulgaria, which is within in the eastern block. It doesn't take much to get there from Eastern Europe and I think you'd find that kids from the region make up most of the competition.

      TFA seems to also indicate that the kid who wins generally takes time off of school to do nothing but prepare for this thing. Generally speaking, only backwater countries who want anyone to remember they actually exist allow this sort of thing. Can you imagine getting approval for this sort of thing in the states or the UK? I doubt many teachers would approve of having a kid postpone high school for something like this? Eastern Europe basically invented this routine back in the soviet days.

      This competition, from what little I can tell of it, seems like it basically means a whole lot of nothing, and it's won by kids who prepare for it above all else, so it's won by a lot of people from countries whose governments value winning this sort of thing above all else.

    6. Re:That's curious by chrisG23 · · Score: 5, Interesting
      This comment is half heresy because I was born and raised in the USA by Romanian parents. What I understand is during the Communist era of the Soviet Union and Soviet Bloc countries, education was greatly elevated. The thinking behind this was that the Communist countries would use the brainpower of their people to propel themselves above the degenerate West. (Its ironic that at least here in the US the opposite philosophy was followed, we make our people too dumb to notice there is a fundamental problem with our education system and then import talent from other countries when needed.)

      Teachers in these countries were expected to be subject matter experts at all levels of instruction, and not just yahoos with lesson plans and an inability to see multiple solutions to a problem (I am speaking from my personal experience with the American public education system here. The fundamental difference comes down to teaching how to find methods to approach and solve different problems vs teaching a method to solve a single problem and requiring little or no understanding of the underlying concepts at play. At least so I am told. It does explain some things.

      The descendants of people in this system (I hear at least in Romania the schools are not what they used to be) are reaping the benefits, and over here in the USA kids are worried about being safe in school, getting shot, or being ostracized by their peers for somehow being smart or trying hard (and being punished by the system for the same).

      My 2 cents.

    7. Re:That's curious by andi75 · · Score: 1

      Preparation is everything.

      I've been to the ACM programming contests a couple of times. While we (two physics students and myself a math student, we easily eliminated the CS students in the local university qualifying round) were doing somewhat ok, we suffered from lack of preparation (which basically consisted of bringing along a copy of Sedgewick's "Algorithms in C"). The other teams (most notably the St. Petersburg and other eastern european teams) had coaches, months of preparation behind them and brought tons and tons of binders with print-outs of pre-written programs that needed only a little tweaking to be applied to the current problem set.

      The ACM (and probably IOI as well) problem sets repeat the same (or very similiar) problems over time. Typical examples: graph problems involving a simple breadth first search, or perhaps a minimal cut, or the typical geometric problems where you have to do a robust point-left/on/right-line test, or do some space partitioning, or you need to do some optimization using dynamic programming, etc. All that stuff can be trained, written down and brought along (the ACM rules used to allow bringing along unlimited amounts of stuff in dead-tree format), or just memorized.

    8. Re:That's curious by affenhund · · Score: 1

      Thats true, a lot of great programmers come from eastern Europe. For example MPlayer is a Hungary based project. And I remember an article that said that many writers of viruses come from Bulgaria. I think the reason for this may be the fact, that in many communist countries computer scientists tried to reverse engineer western technology, and therefor had a very low-level knowledge of things most people in the west hadn't. I think it makes a great difference if you started programming in Pascal or in Assembly. Another reason might be that most natural sciences are quite expensive to teach. For Biology and Chemistry you need laboratories. For Computer Sciences, you only need a pen and a piece of paper. So I think that many people in eastern European countries have a very good understanding of the way computers work, due to the history of their teachers/parents.

    9. Re:That's curious by azgard · · Score: 5, Informative

      Actually (as a citizen of Czech Republic, former Eastern block state), I think there were several factors:

      1. Communist regime actively encouraged smart people to work in mathematics, technology and natural science fields. When I was in 6th grade, I went to several hobby groups (organized by the local communist youth organization) - one dealing with natural sciences and second dealing with electronics. While such clubs exist today too, the participation is not so much enforced on the parents.

      2. Today, you can buy almost anything in the shop. Back then, you couldn't. It was natural for people to know how to repair various things, and experimentation with electronics (and later computers) was very common among young people.

      3. Life in communist regime was _extremely_ boring. Doing any technical hobby was a way to escape this boring reality.

      Having a technical hobby is much easier now, because you have specialized shops that will sell you anything you need (which weren't the case at all back then), but much less people actually do it (there is also so much of other stuff to do to enjoy life).

      By the way, I know Martin Mares (one of the frequent winners) personally from the high school - boy, he was and is smart! He could program in assembler like someone would write a letter, and talk to me about differential equations in the meantime. Still, I don't think IOI is so difficult as IOM, so the comparison with Terence Tao doesn't really hold water that well.

    10. Re:That's curious by Anonymous Coward · · Score: 0

      Maybe because the people in that area saw that they can live better in other countries, but in order to do so, they have to get a pretty good job. Also, to get a pretty good job you have to learn and to be ambitious. So, quick conclusion: they simply want to go outside a crappy country.

      Another factor may be the curiosity... at least in my case. (No medals awarded, tough)

      Also, the Russia is a big country, so they have many talented persons because the also have a quite big population.

      Also: the educational system in ex-soviet/communist countries is much stricter than the US one, and you have to learn... a lot. //Disclaimer: I live in the Eastern Europe...

    11. Re:That's curious by rumith · · Score: 1

      Well, lacking access to hardware and barely getting some doesn't look like a viable explanation, now does it? Otherwise, the OLPC project would have generated a tremendous influx of Peruvian and Congolese software engineers, had it succeeded :P. Where is no or little software industry and no advanced CS research departments, there is nobody to teach the kids.

      P.S. Actually, USSR (as opposed to modern Russia) had some pretty decent computer industry for a long while. Until they began copying American technology, that is. Still, there have been many Soviet minicomputers and PCs; most of them expensive as hell, but I doubt that in the rest of the world computers were cheaper by any significant amount at the time.

    12. Re:That's curious by FlyingSquidStudios · · Score: 2, Funny

      That because in Soviet Russia, state programs YOU!

    13. Re:That's curious by ZombieWomble · · Score: 3, Informative
      The international olympiads are held in maths, Informatics and the sciences, and are actually quite prestigious events - most large countries send full teams, and it's held in many countries.

      Similarly, most countries do put a significant amount of effort into the selection and training of the teams (here's the US training organisation's site, for example). While the exact amount of effort varies, it's still a fair time contribution, even in the US. Luckily, the prestige of the event tends to offset any minor issues it causes in other areas of the student's study.

    14. Re:That's curious by Anonymous Coward · · Score: 0

      kill yourself

    15. Re:That's curious by glwtta · · Score: 1

      Ah yes, it's something that the US doesn't do well in, so it's a whole lot of inconsequential nothing. Way to keep the stereotype alive.

      For the record, the winners of the ones held in Wisconsin (2003) and Mexico (2006) were from Korea and Poland, respectively.

      I doubt many teachers would approve of having a kid postpone high school for something like this?

      I've attended both American and Easter European high schools - trust me, you wouldn't be missing much by skipping a couple of years of the American ones.

      --
      sic transit gloria mundi
    16. Re:That's curious by Xemu · · Score: 1

      We make with C, no problem.

      Yes! I look forward to him winning The International Obfuscated C Code Contest. Now THAT's a real challenge for any programmer. And so much more fun for the spectators.

      --
      Tell your friends about xenu.net
    17. Re:That's curious by oldhack · · Score: 1

      The thinking behind this was that the Communist countries would use the brainpower of their people to propel themselves above the degenerate West. (Its ironic that at least here in the US the opposite philosophy was followed, we make our people too dumb to notice there is a fundamental problem with our education system and then import talent from other countries when needed.)

      Yep, that's the genius of our system. We see what you were saying, so we exploit the elevated brainpower of those poor foreigners by oursourcing!

      Bow down before the superior intellect! Pay no attention to my puking.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    18. Re:That's curious by shutdown+-p+now · · Score: 2, Interesting

      Communist regime actively encouraged smart people to work in mathematics, technology and natural science fields.

      It is mostly that. Technical education, especially in hard sciences, was always superior in the USSR (can't say about the rest of the Bloc, but I'd imagine it was about the same). It is not quite on the same level now, but it's still strong. There are many specialized "advanced schools" which teach some pretty complicated math in final school years (in the one I studied in, we did path integrals, for example - that was in late 90s).

      It also helps that those schools are free, too - so long as you qualify. End result is that the brighter kids, regardless of background, are segregated from the rest, and receive education matching their abilities - and, as I mentioned earlier, there's a strong emphasis on math, physics, and other hard sciences. This definitely helps shape the mind for programming.

    19. Re:That's curious by gaspyy · · Score: 1

      As a Romanian, I can say this is perfectly true.

      Education used to be to very high standards, especially in "hard" sciences. As a side-note, we never had the misconceptions that girls are not good at maths and as a result I recall that in highschool the top 5 students in maths were all girls; us boys had a chance to compete in physics and chemistry though.

      The system had one flaw however, in that it emphasized theory instead of practical implementation.

      Anyway, the whole system has gone downhill lately; in the '80, students') role models were scientists (I'm not making this up) whereas now everyone dreams of becoming rich overnight or marrying a rich man...

    20. Re:That's curious by Anonymous Coward · · Score: 0

      Ah, the prejudice!

    21. Re:That's curious by Anonymous Coward · · Score: 0

      Thats true, a lot of great programmers come from eastern Europe. For example MPlayer is a Hungary based project.

      Hungary is in Central Europe, not Eastern Europe. Perhaps you did not notice that the Cold War ended?

    22. Re:That's curious by Cyberax · · Score: 1

      You're very wrong. Software industry is alive and well in Russia and ex-Soviet Bloc countries. It's not very visible because:

      1) Most of software companies work on outsourced projects. You might be using software developed in Russia and don't know about it (examples: recent versions of Microsoft Flight Simulator, Heroes V, etc.)

      2) A significant part of software companies produce software for domestic consumption.

      3) ex-Soviet bloc was late on software development scene.

      4) A great many ex-Soviet programmers emigrated to the West countries.

      PS: I'm the owner of a small software company in Ukraine :)

    23. Re:That's curious by mshieh · · Score: 1

      We outsource to Russia at my office.

      India probably has one of the most active software industries out there, but how many major Indian software products do you use on a daily basis? (Indian CEOs and branch offices don't count) If you're a global company, you tend to make the USA your HQ. It just makes sense given the dominance of the USA stock exchanges.

      Also, there's a reason why Kaspersky doesn't have trouble hiring AV developers.

    24. Re:That's curious by Anonymous Coward · · Score: 0

      I think the reason is quite obvious: the IOI is a big deal in the Soviet bloc, but very few people
      have heard about it in the West. The only reason I had even heard of it before reading this article
      is that I have a bunch of friends at work who hail from the Soviet bloc and had participated in it.

    25. Re:That's curious by hubert.lepicki · · Score: 1

      Well... we, Slavs, rock when it comes to logical thinking ;).

    26. Re:That's curious by turing_m · · Score: 1

      I got a laugh out of it, but does the converse really work? E.g. elsewhere, do "you program the state"?

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    27. Re:That's curious by turing_m · · Score: 2, Interesting

      It also helps that those schools are free, too - so long as you qualify. End result is that the brighter kids, regardless of background, are segregated from the rest, and receive education matching their abilities - and, as I mentioned earlier, there's a strong emphasis on math, physics, and other hard sciences. This definitely helps shape the mind for programming.

      Absolutely. That's a common thread with geniuses who achieve a lot in life - not only are they born with the intellectual horsepower but they also happen to receive enough tutelage to achieve their potential. e.g. Euler, tutored by Bernoulli, Mozart and Beethoven, tutored by competent fathers. I imagine that the web is both a blessing and a curse - it's very easy to find extra tutelage/learning in virtually every discipline. But now we have computer games and forums to draw in those with the brains and attention span necessary to succeed in those disciplines.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    28. Re:That's curious by Anonymous Coward · · Score: 0

      there are plenty of talented programmers in Russia, but as far as I can tell, software industry per se is virtually non-existent there.

      This might very well be the reason. I'd imagine in developed countries like in Europe or North America young talented programers are sought out by top software companies and hired to work for them.

    29. Re:That's curious by mcbevin · · Score: 1

      What's also worth mentioning however, is that the quality of education in some of these post-communist countries has now plummeted - I was in the Ukraine a year or so ago and the stories of the quality of 'university' education there are shocking (in one computer science paper the entire 'assessment' for the paper was to translate parts of a computer science textbook from english to ukrainian so the professor could publish it under his name and get recognition for that .... which meant that the students became experts in running translation software - often translating english -> russian, and then russian -> ukrainian, using translation software, as direct translation software didn't exist, with surely extremely entertaining results).

      What's most telling about the drop in quality is that many other countries will now recognize university degrees from the Ukraine only if they were obtained _before_ the fall of communism there.

      But yeah, so I'm not sure how much the quality of the education systems in these countries relates to their performance in such competitions - I attended the world programming contest (a different but similar event) twice and remember the Russian programmers were really a league apart from us, however I did hear tales that their teams had really been training full-on for it for a long time, whereas I guess for us the we were primarily focused on our degrees or other things, and the contest was more a side-interest, and thus it reminded me more of soviet athletes pumped with steroids, that is, I wouldn't neccessarily expect those Russians to have received better overall educations than us, but possibly the Russian universities/government saw the competition as a way for them to gain prestige (whereas US universities which had once dominated the competition didn't tend to do so well but didn't really care so much for it either).

    30. Re:That's curious by Eskarel · · Score: 1

      I'd think it was bullshit even if it was one by the US every year, I thought it was bullshit before I even read the kids name. The fact that it was held in Wisconsin when I was actually in Wisconsin in a university computer science degree program and I've never heard of it before is a fair indication that it's probably not considered all that important. The fact that they held it at UW parkside is another. The UW system has about 15 schools, and parkside is just about the smallest and least prestigious of them. It's not even anywhere near an international airport, so it doesn't even have the excuse of being convenient.

      It's an informatics spelling bee. The kid may be brilliant, he may be nothing. He may go on to invent something absolutely amazing, he may end up flipping burgers for the rest of his life. None of these contests are ever solid indicators of future success.

      My primary point was that TFA indicates that the kids who win this take a significant amount of time off school to prepare for it. Aside from the fact that any contest for high school students which requires them to stop being high school students to compete is stupid to begin with, assuming this has any requirements of actually being a high school student(as opposed to only being under 21), then you would need school approval to take that time off.

      Even if it doesn't, school attendance in most western nations is mandatory for at least a portion of this time(I know you can't drop out till 16 in the US and then you need your parents permission). In most countries in the world, getting approval to continue as a student without actually attending classes involves talking to someone in government(sometimes state, but often federal).

      Generally those folks don't do anything that isn't in their own best interest even if it doesn't really cost them anything to do so. Therefor a country which really wants to prove that it's not a completely inconsequential backwater or for whom having a winner of something like this would mean something to the general citizenry is likely to approve it are likely to bother. Eastern Europe has shown over the years in the regular olympics that both of these things are true in the region.

      I'm not saying that there's anything wrong with this kid, or that there's anything wrong with Eastern Europeans, but I've never seen anything to indicate that, on the whole, Eastern Europeans are any smarter or better educated than anyone else in the world, and outside of porn and botnets there isn't much of an IT industry over there to be encouraging and developing them.

    31. Re:That's curious by Eskarel · · Score: 1

      No prejudice. The OP pointed out a statistical anomaly which isn't backed up by external evidence(there aren't a disproportionately high number of Eastern Europeans in any other area of IT that I know of). I fully believe that these kids are probably fairly smart and were definitely the best at whatever the competition actually tested(whether that's informatics or not). I also know that a lot of times, these sorts of international prizes go to the country which is willing to dedicate the most resources to winning them. The US has a lot of baseline resources, but they don't generally push a lot of extra resources into things like this.

      These kids most likely had a better chance of winning this competition because someone in their government cared about the competition, that's just life.

    32. Re:That's curious by badkarmadayaccount · · Score: 1

      Right on brother!
      Just a proud Bulgarian here, nothing to see, move along...

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    33. Re:That's curious by Tweenk · · Score: 1

      yes, there are plenty of talented programmers in Russia, but as far as I can tell, software industry per se is virtually non-existent there (at least compared to the US).

      Remember that 95% of all code never leaves the organization it was written in. You may not know any commercial software products from Russia, but there's definitely a lot of in-house programming going on.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
    34. Re:That's curious by Tweenk · · Score: 1

      The fact that it was held in Wisconsin when I was actually in Wisconsin in a university computer science degree program and I've never heard of it before is a fair indication that it's probably not considered all that important.

      Because it is not a sports event. I was on an international chemistry olympiad team that won 4 gold medals, and only 1 newspaper bothered to puta short notice about this. High school olympiads don't get much media attention.

      It's an informatics spelling bee. The kid may be brilliant, he may be nothing. He may go on to invent something absolutely amazing, he may end up flipping burgers for the rest of his life. None of these contests are ever solid indicators of future success.

      No, they are not 'spelling bees'. Have you even looked at any of the problems? I am estimating that 90% of employed programmers would not be able to solve some of them.

      Therefor a country which really wants to prove that it's not a completely inconsequential backwater or for whom having a winner of something like this would mean something to the general citizenry is likely to approve it are likely to bother.

      Your vision is that participation in the international olympiads requires government dispensation from school? No, it only requires an education system that doesn't have fucked up priorities.

      In most countries in the world, getting approval to continue as a student without actually attending classes involves talking to someone in government(sometimes state, but often federal).

      In most countries, school administration is not composed of mindfucked morons who are fundamentalist about attendance and ignore real achievements. In the last year of high school I had less than 50% attendance, and yet I had no problems - that's because they took my achievements in the national chemistry olympiad into account, and did not think it was a good idea to penalize me for pursuing my interests.

      outside of porn and botnets there isn't much of an IT industry over there to be encouraging and developing them.

      That's just laughable. Maybe there is little commercial software coming from there (though there are some exceptions), but commercially released software accounts for less than 5% or all code being written - the great majority of code is only used in-house. There is also a lot of web development going on. For example, Poland has an eBay clone, a Classmates.com clone and a Facebook clone; all banks have online banking interfaces that work in standards-compliant browsers, and starting this year you can submit a tax report using an Adobe AIR application that works on Linux.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
  5. Programming practice by improfane · · Score: 2, Informative

    If you're interested in programming contests, you might enjoy the USACO programming contest.

    http://ace.delos.com/usacogate

    My problem with most contests is that the material is too difficult. I did the first exercise and haven't attempted the second yet.

    --
    Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
    1. Re:Programming practice by Anonymous Coward · · Score: 0

      Yeah, it's pretty nuts that they would make a contest difficult.

    2. Re:Programming practice by mysidia · · Score: 1

      If the difficulty was too low, then everyone would be successful. You couldn't have real winners

      And would have to rely on some arbitrary measure to declare a winner (such as how many milliseconds it took the program to run, time to completion, or fewest spelling errors in the source code).

    3. Re:Programming practice by improfane · · Score: 1

      My point is that even with all my basics down, how do you become a better programmer?

      Most programming exercises I have no idea where to begin.

      --
      Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
    4. Re:Programming practice by Bigjeff5 · · Score: 1

      You know, that has to be the worst website design I've seen in a while. It's actually a lot like the websites I used to make when I was a kid and into programming them by hand, I mean does nobody there look at this thing and go "My god, that's ugly!"?. I suppose it is fine functionally, but frames haven't been a good idea from a design perspective since the 90's, and the font choice and color choice are horrible.

      I mean, come on people, is it really that hard to have someone with an eye for good design look your website over? I was actually thinking about trying the training resources, to improve my programming skills (which are pretty basic), but I can't get over how horrible that website is.

      Maybe I'll try it anyway.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    5. Re:Programming practice by ColdWetDog · · Score: 4, Insightful

      You know, that has to be the worst website design I've seen in a while.

      Did you make a typo here? I think you meant 'this website'. And we know that. We've been complaining about Slashdot for about forever.

      --
      Faster! Faster! Faster would be better!
    6. Re:Programming practice by pjt33 · · Score: 1

      I haven't specifically looked at the USACO problems, but the IOI isn't about programming so much as algorithm design. People who do well in it are likely to be capable of getting a PhD in computer science.

    7. Re:Programming practice by svalentin · · Score: 1

      As a former participant at such contests, here are some sites that helped me along the way:
      - Study Introduction to Algorithms, now at third edition: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11866 (This is one of the best books in the field and one I personally read, that's why I'm recommending it. There are of course other books that I don't know of.)
      - Check out courses for computer science from different universities: http://academicearth.org/
      - USACO has a training path witch gives you problems to solve and increase in difficulty as you go along
      - Competition sites like topcoder.com also have educational content beside the weekly algorithmic contests: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index

      And most importantly, solve lots and lots of problems. Beside USACO and topcoder, here are some ACM like online judges:
      - http://uva.onlinejudge.org/ (some are easy, others are easy if you get the idea and some of the last ones are hard)
      - http://www.spoj.pl/ (most are hard!)

      Bonus: If you're romanian, you should really check http://infoarena.ro/ It's the biggest online community in computer science with articles, problems, helpful guys.

      Hope this helps!

  6. The reason why there's no Americans by Anonymous Coward · · Score: 0

    American kids are smart enough to realize that there's no future in CS any more and they're concentrating on the Biological sciences - if they have learned them. Otherwise, they'll just count on the fact that God did everything and they'll make money the old fashioned way: becoming bankers.

    1. Re:The reason why there's no Americans by azgard · · Score: 1

      In other words, American kids are smart enough not to be too smart.

  7. Two words: Rampant piracy by Anonymous Coward · · Score: 0

    there are plenty of talented programmers in Russia, but as far as I can tell, software industry per se is virtually non-existent there (at least compared to the US).

    Oh, and by the time they were finally free to compete, most of the world's markets had already taken by today's behemoths, with the network effect making any newcomer's effort an uphill battle.
    Some of the talent seems to have taken to the dark side - just ask any cybercrime investigator (or admin fending off the onslaught of malware) for the suspected hideout of their particular nemesis...

  8. Umm.. it's a high-school contest by mysidia · · Score: 5, Insightful

    Who do you expect to win it, a 30 year old? Most High-School students are between 13 and 18 years of age.

    I don't see it as extroardinary news, that a 14-year-old one won an international contest among students around that age range.

    It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level :)

    1. Re:Umm.. it's a high-school contest by Bigjeff5 · · Score: 1

      Because it has never happened before? You do realize that an 18 year old is 30% older than a 14 year old, and that entire 30% is in the higher developement - the stuff like programming.

      Would you not be surprised that an engineer fresh out of school is a better engineer than all the other engineers at the firm that hired him? Of course you would. Raw talent usually means you're better than the worst to start with, experience counts for a lot and it takes both to be the best. Being young and having a lot of experience don't mesh well, but it's not unheard of.

      Hence, the surprise win of the 14 year old over thousands of competitors with more experience.

      It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level :)

      Why? Most of them are shit, and he'd probably beat all but the best. The reason the 14 year old wining the contest for the first time in history is surprising is the same reason him beating CS undergrad students would be surprising: he'd be beating people with significantly more experience.

      You're the kind of guy who, when someone says "Hey, check it out! I just got back from the moon!", says "Yawn, wake me up when you get back from Mars."

      In other words, you're an asshole.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    2. Re:Umm.. it's a high-school contest by mysidia · · Score: 1

      Because it has never happened before? You do realize that an 18 year old is 30% older than a 14 year old, and that entire 30% is in the higher developement - the stuff like programming.

      A 14 year old is 20% younger than an 18 year old, not 30%. The proportional difference is not a fair means comparison. There are many 14 year olds who are more developed than most 18 year olds, and they would be the ones to get entered into contests like this one.

      Why? Most of them are shit, and he'd probably beat all but the best.

      The best are the only people their school would enter into the contest.

      A 14 year old in high school beating 25 year olds who are about to graduate from college and have been in programming competitions before, would be truly impressive.

    3. Re:Umm.. it's a high-school contest by obarel · · Score: 1

      You're both right...

      14 is 22% younger than 18 (it's 22% of 18).
      18 is 29% older than 14 (it's 29% of 14).

    4. Re:Umm.. it's a high-school contest by JMZero · · Score: 1

      I believe the winner competes under the handle of Tourist on TopCoder. He's ranked 14th currently (among competitors of all ages). There is exactly one North American ranked higher than him (ICPC legend and generally amazing Derek Kisman).

      And who do I expect to win IOI? An 18 or 19 year old. This is a very prestigious competition, and many of the competitors have been training hard for years. 14 to 18 is a significant age gap and many of his competitors are amazing prodigies in their own right. I find it extremely impressive that he's performed to this level.

      --
      Let's not stir that bag of worms...
    5. Re:Umm.. it's a high-school contest by marcog123 · · Score: 1

      It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level :)

      He *has* done this before. He was the top individual in this year's IPSC, which is open to everyone. He's also had an excellent record recently in TopCoder, which is also open to everyone: he's currently ranked 14th and is by far the youngest in the top 50. Unfortunately all of the major open international contests are restricted to those 18 and older.

    6. Re:Umm.. it's a high-school contest by mshieh · · Score: 1

      How many 14 year olds are the captain of their high school varsity team? That might only be local news if it happened, but slashdot is specialized news too.

    7. Re:Umm.. it's a high-school contest by Anonymous Coward · · Score: 0

      it's 29% of 14

      Wat?

    8. Re:Umm.. it's a high-school contest by Anonymous Coward · · Score: 0

      It would be far more interesting if a 14-year-old won an international contest whose participants included college students studying CS at an advanced level

      You need a serious humility check if you think those "advanced level CS students" are half as good as someone ranked 14th on TopCoder. I'm in my mid-thirties, I'm a CS guru and pro: I know it all about algorithms and whatnots, I type at 100+ wpm (you need to type fast to compete efficiently at TopCoder) and I'm a OOA/D to OOP translationnist. From low-level kernel driver writing involving C and some assembly to high-level OO, I know it all. But getting spanked on TopCoder by people less than my half my age was the one of my most humble experience ever. And that comes from a very high ranked TopCoder.

      But as high ranked as I am on TopCoder (higher than you'll ever be), no, I'm not beating those "topcoders" who've won several olympiads of mathematics, etc.

      Get real. It's not about age, it's not about diploma, it's not about "advanced level CS". It's about being very intelligent.

    9. Re:Umm.. it's a high-school contest by mysidia · · Score: 1

      Actually, there is something strangely notable about this:

      -How many hours a day are you in front of the computer?
      - Not more than three to four. I like playing football and table tennis, so I try to find time for sports as well.

      How many geeks who have developed advanced programming skills only ever spend at most 3 or 4 hours a day at a keyboard programming?

    10. Re:Umm.. it's a high-school contest by Pantero+Blanco · · Score: 1

      14 is 22% younger than 18 (it's 22% of 18).
      18 is 29% older than 14 (it's 29% of 14).

      14 is 22% younger than 18 (it's approximately (100-22)% of 18).
      18 is 29% older than 14 (it's approximately (100+29)% of 14).

      Silly.

    11. Re:Umm.. it's a high-school contest by obarel · · Score: 1

      Thanks for that. Now I can get on with my life.

    12. Re:Umm.. it's a high-school contest by Tweenk · · Score: 1

      Gold medals are awarded to the top 5-10% of participants, but there is only one winner.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
  9. I'm happy for the lad, however... by FlyingSquidStudios · · Score: 4, Funny

    The photograph they chose to feature in the PDF linked above uses the infamous Kubrick Stare so I am worried about him rounding up minions for his insane plan of world domination.

    1. Re:I'm happy for the lad, however... by Anonymous Coward · · Score: 0

      No, see, that's how you can tell he's an extroverted IOI winner; he stares at your shoes when you're talking to him.

  10. Big. Fucking. Deal. by pRtkL+xLr8r · · Score: 1, Troll

    Don't know how this is news. Anyone who concentrates on something hard enough will get it eventually, age doesn't matter. It seems silly to people in America maybe because kids now are too interested in jacking their brains into Xbox Live and their iPhones. I used to be heavy into that stuff as well... but then I got a social life and found out early on that life is way too short to waste your life completely on it. Do it for fun or for your job, but if you eat, live and breathe it, it will destroy you. Oh and having sex became priority number one...

    1. Re:Big. Fucking. Deal. by SoVeryTired · · Score: 1

      Those who can, do. Those who can't, rationalise.

      Life's too short NOT to do this stuff.

      --
      Slashdot: news for Apple. Stuff that Apple.
  11. Oh my by Anonymous Coward · · Score: 0

    What a funny joke. I almost died laughing.

  12. nough said by VulpesFoxnik · · Score: 1

    "Hackers should be judged by their hacking, not criteria such as degrees, age, race, or position." -- Hacker Ethic

    --
    RES PUBLICA NON DOMINETUR
  13. Where can I see the contest's questions? by zukinux · · Score: 1

    I'd like to see the contest's questions, just to check how it was (and also perhaps there's something new to learn, right? :)), if anyone can give the test for self checking?

    Thanks!

    1. Re:Where can I see the contest's questions? by edsousa · · Score: 2, Informative

      check the website: http://www.ioi2009.org/
      The problems are right there.

  14. Those Bulgarians! by sgt_doom · · Score: 1

    F**king Bulgarians **#(_Q@_&$*(@#_@....

    1. Re:Those Bulgarians! by badkarmadayaccount · · Score: 1

      What problem do you have with us, exactly?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    2. Re:Those Bulgarians! by sgt_doom · · Score: 1

      If this is actually a serious inquiry, then the post was a joke - as in the type of locker room humor when anyone, or group, aces something, one responds with f**king (fill in the blank) #*(D**$&$^#

    3. Re:Those Bulgarians! by badkarmadayaccount · · Score: 1

      Oh, OK, sorry. It's just that it's quite crappy here, in some respects, and we don't like do be reminded, though it's chock full of self-depreciating humor. Weird, I know. I just can't help myself.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  15. what happened to the Indians? by Anonymous Coward · · Score: 0

    Time to outsource to eastern Europe.

  16. Programmer Savants, On the Discovery Channel by Anonymous Coward · · Score: 0

    They can't even give correct change from a pounder but they can program like, uuh, ... Mensa nerds, help me out here !! I'm a plain savant !!

    1. Re:Programmer Savants, On the Discovery Channel by mikiN · · Score: 1

      They can't even give correct change from a pounder...

      so they will plonk down a program to do it on their Android phone in an instant.

      No, i REFUSE to say iPhone...queue up a large and menacing Apple high up in a tree, poised to fall on to me and smother me with gravity-laden but no less fruity court injunctions...

      --
      The Hacker's Guide To The Kernel: Don't panic()!
  17. shouldn't you be elsewhere? by archangel9 · · Score: 1

    18- and 19- year olds are still competing? If they were smart enough enter, wouldn't they already be in college/university instead of grade school? Anyone that didn't medal shouldn't be invited back the next year. Now THAT'S incentive to perform.

  18. In related news... by Anonymous Coward · · Score: 0

    ...Megan Fox is still not dating any International Olympiad in Informatics winners.

  19. Programming != Engineering... by Anonymous Coward · · Score: 0

    Please, stop the comparison, already.

    Stop comparing programming to bridge building. It isn't. If you think programming is engineering, then you either aren't an engineer or you don't know what engineering really is.

    Engineering is based on scientific absolutes, physical interaction, and physics principles. Software is not.

    Hell, I don't even think programming is science. Anymore than I think setting up dominoes to tumble in a particular way is science.

    I've been in software development for a long time. And I can say with conviction that I can write software that solves business problems. I can also say that what I do is neither engineering nor science.

    1. Re:Programming != Engineering... by dieth · · Score: 1

      Stop programming with libraries...
      Try writing some code with direct interfaces to the hardware.
      The true programmer understands the how and why of their computers, the libraries that you use prevents you from knowing this, and make you no better than a script kiddy.

    2. Re:Programming != Engineering... by Jurily · · Score: 1

      The true programmer understands the how and why of their computers, the libraries that you use prevents you from knowing this, and make you no better than a script kiddy.

      True programmers don't break the abstractions the API provides without a damn good reason. They do, however, understand all the implications of using an API, including performance characteristics.

      And optimizing for hardware is something the compiler should do. I don't even want to know what architecture or OS my code will run on.

    3. Re:Programming != Engineering... by eyrieowl · · Score: 1

      I very much understand what engineering is. And I recognize that formal engineering isn't necessary to program. But I think the analogy holds. Or do you think people building rope bridges in the Amazon are practicing formal engineering? It's very much possible to build a bridge without engineering skills...and it's possible for it to be solid, and functional. Similarly, it's possible to program without any knowledge of engineering, and to produce software which works, and does the job. So, no, programming isn't engineering. But a good programmer, or, I would say, a software engineer, isn't merely trying put things together to find something which works.

      Neither, as you note, is programming science. Software engineering isn't science. No engineering is science. Engineering is the application of science. The "science" is computer science, and it's very much a science, probably closest to mathematics after perhaps physics. Software engineering is the application of engineering principles to utilize that science to create things. Programming is the activity of creation, and does not require knowledge of the science or the engineering to perform...but I'd have a lot more faith in the system if the creators had both. And, just as with a well designed bridge, I'd want the designer to have a good bit of talent/imagination as well....

    4. Re:Programming != Engineering... by javabandit · · Score: 1

      Your analogy is off. Let me restate it.

      You don't need to have knowledge of engineering to engineer a bridge.

      Likewise...

      You don't need to have knowledge of programming to write a computer program.

      Stop getting the wires crossed. Engineering != Programming. The two are completely orthogonal.

    5. Re:Programming != Engineering... by eyrieowl · · Score: 1

      Perhaps I am missing something, but did you have a point beyond, "You're wrong"? Because it seems to me that you're thinking I'm going to adopt a different point of view because "javabandit said so"....

  20. Look at it this way: Prg V Eng by Anonymous Coward · · Score: 0

    I might use the software the 14-YO cooks up, but for SURE AS HELL I am not going to cross a bridge ENGINEERED by a 14-YO. See the diff? I thought you would. Compare and contrast. 100-page report due Monday. Class DISSED !!

    1. Re:Look at it this way: Prg V Eng by SnEptUne · · Score: 1

      So you are really to let surgery robot operating on you using software a 14 years old cooked up? And have no problem when a 14 years old wrote the operating system for a nuclear power plant?

  21. Wrong. The source code... by Grey+Haired+Luser · · Score: 1

    is the design.

  22. Re:Wrong. The source code... by octothorpe99 · · Score: 0

    Umm.. in Soviet Russia.. the software designs you??

  23. Comment removed by account_deleted · · Score: 2, Funny

    Comment removed based on user account deletion

  24. So what... by BlueNine · · Score: 1

    In 1985 most of us could hack out any tune of a game on the C64 at 12, and that was in 6502 assembler.
    In 1987 we had moved to 68000 assembler doing demoes and coding games on the Amiga and Atari ST.

    Give kids a turtle today, and what do we get? Lines....

  25. Agreebut by Peter+(Professor)+Fo · · Score: 1
    1. In early days it is vitally important for people to 'build' something from their abstract ideas. These things may be toys but there's nothing wrong with that. This gives them experience in the problems of construction and the techniques and satisfaction of solving them.
    2. The very quick minds of the talented need support from the greybeards. They will keep reinventing the wheel, often badly, but that's the nature of adventurous youth. The extra experience and knowledge of the mature bods should be a resource to be called on.
      • Wrong: You should have done it like Foo
      • Right: Now you've had a go and got the scars to prove it you'll find the Foo technique easy to understand and I expect you'll be amazed at their power and convenience
  26. "Chinese Taipei" in the linked PDF?? WTF! by Anonymous Coward · · Score: 0

    I thought it was only in the (sports) Olympics that the China communists did this censoring sh*te - jeez people need have some balls and put a stop to this! Its TAIWAN ffs!