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."
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.
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.
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.
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.
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.
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 m
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 crea
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.
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 m
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.
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.
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 lang
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.
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 [joelonsoftware.com] which holds up pointers and recursion as two things in programming that a lot of people never really understand.
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.
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 ev
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.
"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."
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.
"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)."
If you look at the history of IOI winners (especially multiple winners, found at the Wikipedia [wikipedia.org] 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).
If you look at the history of IOI winners (especially multiple winners, found at the Wikipedia [wikipedia.org] 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.
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.
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
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 al
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 technol
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 so
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 [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.
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).
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 b
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
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 brough
Yes! I look forward to him winning The International Obfuscated C Code Contest [ioccc.org]. Now THAT's a real challenge for any programmer. And so much more fun for the spectators.
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 loo
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.
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:)
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
The photograph they chose to feature in the PDF linked above uses the infamous Kubrick Stare [tvtropes.org] so I am worried about him rounding up minions for his insane plan of world domination.
Learn as hobby, not at school (Score:5, 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.
Re:Learn as hobby, not at school (Score:5, 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.
Parent
Re:Learn as hobby, not at school (Score:5, 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.
Parent
Re:Learn as hobby, not at school (Score:5, Insightful)
Parent
Re:Learn as hobby, not at school (Score:5, 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.
Parent
Re:Learn as hobby, not at school (Score:4, Interesting)
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.
Parent
Re: (Score:3, 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 m
Re: (Score:2)
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 crea
Re: (Score:2)
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.
Re: (Score:2)
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 m
Re:Learn as hobby, not at school (Score:5, Insightful)
Computer science is not programming. It's an area of mathematics. API design is software engineering, not computer science.
Parent
Re: (Score:3, Informative)
Re: (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 lang
Re: (Score:2)
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.
Re: (Score:2, Interesting)
There is an interesting article here [joelonsoftware.com] which holds up pointers and recursion as two things in programming that a lot of people never really understand.
Re: (Score:2)
Those Bulgarians! (Score:2)
F**king Bulgarians **#(_Q@_&$*(@#_@....
Re: (Score:2)
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.
Re: (Score:3, Insightful)
This goes quite a bit beyond "schools", to be sure. But if you think competitors in these ev
Re: (Score:2)
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.
Re: (Score:2)
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.
Ah, great for us! (Score:5, Funny)
Perhaps he can fix slashdot
Am I missing something? (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?
Re:Am I missing something? (Score:5, Informative)
Parent
Re: (Score:2)
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)."
Parent
That's curious (Score:5, Interesting)
Re: (Score:2)
If you look at the history of IOI winners (especially multiple winners, found at the Wikipedia [wikipedia.org] 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.
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.
Parent
Re: (Score:3, 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
Re: (Score:3, Interesting)
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 al
Re: (Score:2)
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 technol
Re: (Score:2)
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 so
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.
Parent
Re: (Score:2)
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 America
Re:That's curious (Score:5, Interesting)
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.
Parent
Re: (Score:2)
Yep, that's the genius of our system. We see what you were saying, so we exploit the elevated brainpower of those poor foreigners b
Re: (Score:2)
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
Re: (Score:2)
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 brough
Re: (Score:2, Funny)
Re: (Score:2)
Yes! I look forward to him winning The International Obfuscated C Code Contest [ioccc.org]. Now THAT's a real challenge for any programmer. And so much more fun for the spectators.
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: (Score:2)
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 loo
Re:Programming practice (Score:5, Insightful)
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.
Parent
Re: (Score:2)
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.
Umm.. it's a high-school contest (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 :)
Re: (Score:2)
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
I'm happy for the lad, however... (Score:5, Funny)
Re: (Score:2)
In other words, American kids are smart enough not to be too smart.
Re: (Score:2)
Those who can, do. Those who can't, rationalise.
Life's too short NOT to do this stuff.