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."
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 :)
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.
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!
Computer science is not programming. It's an area of mathematics. API design is software engineering, not computer science.
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.
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.