14-Year-Old Wins International Programming Contest 141
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."
Re:Am I missing something? (Score:5, Informative)
Re:Am I missing something? (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)."
Programming practice (Score:2, Informative)
If you're interested in programming contests, you might enjoy the USACO programming contest.
http://ace.delos.com/usacogate [delos.com]
My problem with most contests is that the material is too difficult. I did the first exercise and haven't attempted the second yet.
Re:That's curious (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.
Re:That's curious (Score:4, Informative)
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 [uwp.edu]). 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.
Re:Learn as hobby, not at school (Score:3, Informative)
Re:Where can I see the contest's questions? (Score:2, Informative)
The problems are right there.
Re:Learn as hobby, not at school (Score:3, 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 [amazon.com]
http://www.amazon.com/Psychology-Computer-Programming-Silver-Anniversary/dp/0932633420 [amazon.com]
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959 [amazon.com]
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.