Americans Are Scarce in Top Programming Contest
Carl Bialik from WSJ writes "Only four of the 48 best computer programmers in the world are Americans, at least according to a computer-programming competition run by TopCoder. Poland had 11 of the final 48, and Russia had 8. Wall Street Journal columnist Lee Gomes asks whether this is more evidence of a sad decline in American education and competitiveness: 'Surprisingly, the Eastern Europeans don't seem to think so. Poland's Krzysztof Duleba, 22, explained that in countries like his own, there are so few economic opportunities for students that competitions like these are their one chance to participate in the global economy. Some of the Eastern Europeans even seemed slightly embarrassed by their over-representation, saying it isn't evidence of any superior schooling or talent so much as an indicator of how much they have to prove.'"
I am an American.
I love to code.
Do I take pride in my code? Sure I do. Is it world class? Probably not.
I'm also a gainfully employed and working on my masters in--you guessed it--computer science. And I log on to Slashdot today to find someone saying that my country failed to 'represent' at some "TopCoder" world-wide coding contest.
Oh well. I don't think I would need to study for this competition, in college I never studied for a computer science exam. It was my theory that if I couldn't deduce the problem on the fly, then I shouldn't be coding at all. Coding isn't about regurgitation or memorization, it's about how you instinctively attack a problem. Certain courses can't make you memorize stuff to be a better coder but they can give you a bag of tricks or arsenol with which to attack problems. The stuff I hate about computer science--documentation, systems integration, etc.--that stuff is memorization.
I'm busy and I would bet that our nations top coders are also busy. We don't have a month of vacation a year and if we did, we'd probably spend it around finals time to relax while our exams are hammering us.
Sorry, Carl Bialik from WSJ (who has had 20 of his own stories posted on Slashdot since March 14! <sarcasm>For Christ's sake, just give Slashdot's frontpage a "Carl RSS news feed" already!</sarcasm>) but I wasn't there to represent my country. I noticed that it was held in Las Vegas. You know what would be interesting? If they held it the same weekend as DefCon in Las Vegas.
I know this sounds hilarious and backward but I believe most of the best coders thrive on the "bad guy" image and would hate to win a competition that makes them look like an AMD (TopCoder sponser) poster boy tool. They'd rather have their hacking alias spray painted all over the RIAA's frontpage than a blue ribbon at a coding contest. Does anti-social behavior come hand in hand with gifted coding? It would seem so, but I haven't done/seen any studies on it.
So what if I went to this competition and was "Sixth best coder"? I probably wouldn't get much for prizes, my coworkers would just view it as proof that I am utterly socially inept, I would spend money and time on the trip with little to gain. I don't see my employer encouraging it or offering raises based on it. Sounds like fun but I'm not going out of my way to attend it.
My work here is dung.
The focus on mathematics in education in Poland (along with Russia and China) is far higher then in the US. The difference in what a typical high school graduate can do between these countries is huge. (I also note that at least 1/2 of the four Americans amongst the top coders began their education in Singapore)
There are shills on slashdot. Apparently, I'm one of them.
That's because all the best American programmers refuse to work without a pay-check. Capitalism at work, Ladies and Gentlemen! ;-)
Note for the humor impaired - it's a joke, OK?
The gift of death metal does not smile on the good looking.
..those that are, are probably raking in the dough at Microsoft and other companies, too lazy to participate :P
:)
They really don't need these gimmicks, it seems - money is enough
To confirm you're not a script,
please type the word in this image:obsolete
btw,fp.
...American Idol is on.
-- http://frobnosticate.com
10 PRINT "HOME"
20 PRINT "SWEET"
30 GOTO 10
RUN
One of my professors did an exchange year at an Ivy League university, and when they got there they had to send back to the UK for their A Level (pre-university qualification) notes as the students were not at the level that they expected.
Also, I had a friend who was on the student exchange program at the same University at the same time. She was a pretty average C grade student (I'm sure she won't mind me describing her like that), but in her year in the US she got straight As.
I don't know if the standard of education is going down in the US, but it apparantly was nowhere near the standard that my professor and friend expected.
Bob
Listen to my latest album here
And, if you are unemployed, then you have lots of time to enter programming contests and try to make a name for yourself so that you can get an H1B and job in USA.
I could also draw the conclusion that a country that exports by value the most software in the world probably doesn't need contests to prove anything.
I shall now be modded down as "Needs more Slashdot 'education'"...
"If you want to improve, be content to be thought foolish and stupid." - Epictetus
You have 4 in the top 48. Tanzania has 0.
Besides, who cares. There are almost 7 billion people in the world. The fact that these coders ranked in the top 0.000001 percentile is amazing, their geographic location is irrelevant.
I love that the eastern europeans are so humble. It makes me proud of these guys.
does it matter?
Ofcourse it's also a matter of signing up for contests. I don't really like contests\races\etc. I hate being competitive, it doesn't bring up the best in me. Besidies, I believe we can get a better solution if we work together instead of competing. So I wouldn't sign up for a contest like that. How many others have similar reasons for not competing in contests like these?
So, from the X that signed up for that contest only 4 to place within the 48 were American. Being 3rd with only 3 competitors still makes you last.
but as for myself I make programs at work and the last thing I want to do when I get home is program for recreational purposes. I think that sentiment likely goes for a vast majority of programmers, especially ones with a family or a (so-called) life.
Additionally I think its hard to decide just what makes the "better" programmer. I don't consider myself a good coder when it comes to strictly algorithms and other not such fun stuff. But let me create a program that someone else can actually use with a functional UI and you have yourself a force to be reckoned with. Its all in the eye of the beholder.
From what I have seen, these contests are more who can write the coolest macros for simple but commonly used tasks, and primarily involve creating quick hacks to get things coded faster.
Maintainability and good engineering are rarely tested. It is just who can create quick and dirty implementations for a given task. There is a lot of skill involved, but not the sort of skill that most enterprises would want.
If there was a coding competition that involved developing robust, scalable architectures for enterprise applications, and designing software to best meet the needs of a client, then we would see who had the best software engineers.
Well as the saying goes. It's nice having standards. There are plenty to chose from.
I believe it's more how American corporations have dumbed down everything so there's fewer opportunities to excel while gainfully employed. When's the last time your employer recognized someone with real talent? The only people I ever see on these annual awards are butt-kissers.
Don't feel bad, I didn't know what 11 what like until after I was 10 ;)
I would tend to agree with Mr. Duleba. I don't think this reflects on the intelligence of American programmers, it reflects on our work schedules. I'm 22 just like Mr. Duleba, and I would love to enter contests like this just for the fun of it... I just don't have the time.
I'm gainfully employed building financial systems and whatever other contracts I'm working on. As Mr. Duleba was saying, I think it reflects more the economic state of some of the Eastern European countries. There is a lot of talent, but not a lot of opportunity. A little publicity from a contest like this can make you more viable to employers and give you an edge on the competition.
Will I get time off from work to enter a competition that I've never heard of (nor has my boss) and will I be compensated for the expenses incurred in travelling to Las Vegas and which ultimately proves only that I can write code under pressure in a town that you couldn't pay me to live in?
No.
"My God...it's full of trolls!"
I prove my worth as a developer [*] by what I do not what I hack together at a conference.
Also I think America [and Canada] got over, at least for us techies, certainly not for marketting purposes [arrg] the whole "gee whiz bang we're working with computers". The "Hackers" era has long since died.
That isn't to say there isn't the culture around though. Codecon, shmoocon, toorcon, defcon, etc are all around and surviving (the latter being one of the biggest).
[*] There is a difference between developer and coder that often gets missed. A coder is analogous to a contract construction worker. They know how to hammer or weld or rivet but don't ask them to design the building. A software developer is analogous to the engineer. Seeing the bigger picture, taking in requirements, designing a solution, testing [proving] procedures, etc.
Tom
Someday, I'll have a real sig.
So, is all this more evidence of a sad decline in American education and competitiveness?
Hardly! How about that all the top American programmers are tied down actually doing programming rather than spending time at some pissing match to prove their "the best".
I understand where these contests come from, I was in one once, in highschool...
One thing I would like to point out, I don't consider myself a programmer, I consider myself a software engineer, and there is more to my job then just programming, and any professional worth a damn in the IT industry will tell you that.
Maybe all the amarican entrants got distracted working on ways to beat all the casinos while they were in vegas rather than do any coding?
I love the smell of burning karma in the morning...
The great programmers in this world are those who have demonstrated their abilities by actually designing and implementing great software. Coding the solution in a competition proves nothing. You don't have to look any further than the GNU, Linux, Apache, KDE, Gnome etc. etc. CVS logs and mailing lists to find the real greats! As a European I say that the US can hold its head up high on this front.
I can't say that I know a single person who actually knows the two languages that TC works with...
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
Whether the US is in decline or not really doesn't matter, and it also doesn't matter whether the results from this competition can be used to determine that.
Even if the US is the by far and away the best country when it comes to IT, that is no excuse for getting complacent and stop trying to improve.
Does the US have to improve? Yes. But not because it somehow "sucks".
You don't see Olympic gold medalists stop practicing because "well, I'm the best now".
(Personally, I think the very high number of Polish contestants are caused by a severe selection bias, which in turn seems to be caused by the national recognition given to their champion - who, it must be said, seems to be quite outstanding.)
I remember doing the ACM Programming Contest when I was at university. It's unfortunate that the problems were more about math than they were about programming. The contest wasn't about who could write the most maintainable code in the shortest period of time, or who could write the most elegant solution, it was primarily about who could write the most efficient algorithm to solve the given problem. 99% of the time this meant knowing that the problem was similar to some famous, already solved, problem and then reimplementing that solution with some minor modifications. But that's what happens when you let academics design a programming contest.
How we know is more important than what we know.
America? Pshaw. Where the hell is China? A huge nation with a 10-point IQ advantage should be dominating these sorts of contests. Also, how do Ashkenazi Jews (highest IQ ethnic group in the world -- though low visual-spatio IQ, but well-represented in Math and Physics) do in these sorts of things? My impression is that they are under-represented.
Like the NBA, these sorts of contests require a lot of training and effort on behalf of the participants. But also like the NBA, racial genetics is the dominating factor in the end. (Caveat—while I'm sure that "quality of schooling" will have no part in a comprehensive explanation of the results, opportunity may matter. A group where the options are Doctor, Lawyer, Scientist, or Computer (pseudo) Scientist, will produce far fewer CS majors than a group with fewer options.)
I started doing TopCoder competitions when I was unemployed. When you don't have a job, you can make all the competitions. But then I got a job, and then the only ones I could do were night competitions. And they seemed like they were once a month. 3/4 were at some time during the American workday. I know my boss isn't gonna let me stop working for 3 hours just to do some silly competition.
It's like sex, except I'm having it!
This isn't just America, but a lot of it is down to expecting
the school system to be the sole teacher of a child
Wake Up! Spend some time with the kids yourself
OK I know I'm replying to an uncle which means there may not be much
you can do yourself, I just find it annoying coming from parents.
And yes I am a parent, 3 kids, the oldest is 6 and he writes better than
a lot of adults I know.
From IRAQ, guys, we're being whipped over there
Events on the ground there dispute this. Go GDub!
We are going down guys. Sooner or later, we'll be at the bottom of the pack.
And yet we continue to outpace developed nations in GDP growth. You keep the programming prize and I'll keep my large home and SUV.
an ill wind that blows no good
Honestly, the best practices programmers are those who never dropped a dime on the education community and followed the lead through hard work in the trenches and digging into books. Honestly, to reflect on the education system as the "measure" to what makes a true TOP programmer should be shunned. If you look at those people in industry from other countries OUTSIDE of the US, do a demographic study on THEIR education backgrounds, before a false statement about the educational system in the US is to blame. THATS an uneducated individual that says that the education system in the US is to blame for this. Ever heard of outsourcing, the bubble-pop, bad economics much like the housing market that drained the perpetual technology pool in the later half of 2001?! Would you BLAME the bubble bust of the Housing sector on poor education standards in our schools in the US?! Absolutely, not. Its based on the fact of supply and demand, and the way our economy works. God, the US's education system doesn't suck. Its just in need of some repair, but its because the US is spoiled for being on top for so long. We are not-inferior from the educational stand point, but rather the thirst to be at the top has been sapped. Fuck the posters anology on poor education of our programmers. Lame.
yet another article on how other countries (with whom we are in the middle of getting an outsouring contract worked out with, so please, please spin it in some way to the american public) are so great in education, coding etc.
how much money did this outfit pay WSJ and this dude?
programming contests "don't pay the bills".
Gosh, I hope not. What with their 21st century tax mechanisms, high literacy and technology adoption, I think the Baltics, Poland, and much of the rest of Eastern Europe are leapfrogging Central and Western Europe. Why would you open a new business anywhere in Europe outside the east or Ireland? Folks in France, the UK or Germany are not _that_ much better (nor are Americans, to be honest), and any skills you can't find locally just acquire them via fiber optics and conference cams... I wonder if the tax schemes of Croatia are nice and flat, Dubrovnik would be a _great_ place to live and work I'd think...
Better yet, they can take part in Euroland while remaining far more attractive for business investment (and, thus, jobs).
Wouldn't the ironing be delicious if "East Germany" were to secede again, but this time in order to go 21st-century capitalist (flat tax, low corporate tax) and join the Eastern European economy?
Luckily they can still remember the true face of socialism, and what havoc it can wreak, though perhaps in a couple of generations they too will transform into ignorant ingrates...
You can be an excellent coder with a small sub-set of math knowledge, unless your application requires a bunch of complex mathematical computations.
I've yet to be assigned one.
Blar.
There are good programmers here in Poland.
But after my studies I had choice:
- stay in my home city and work for awerage wage
- move to western Poland to big city and work for foreign company
- emigrate to another country
I have chosen second option, I moved far away from my home city, but many people just emigrate as fast as they can.
And now there is one more reason to emigrate: terrible political state (PIS, Lepper and Giertych).
Science and technology is just give lip service here in America. We don't value science and tech geeks here. You want to earn some real money? Don't wast your time in science - go study law.
Have any of these academics ever shipped a product?
I would imagine that the "best" programmers in the world are all off producing commercial software at some company, or working on some high-profile open source project.
I don't have much ego about my programming abilities, but I HAVE shipped dozens of highly rated commercial applications. Those of us busy with "real work" usually don't have time to take part in these competitions. The title should probably be something like "best academic programmers with little real world experience."
Coding is math, more math and a bit of math on the side. If it isn't for you, step down from the high level application programming, or database programming, and come down to me into the depths of compression algorithms, cryptography and computer graphics.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
... and have a connection with local computer science, and Americans, and I think there's a mixed bag of reasons. Education style is a factor: education here is "memorize these twenty sort of situations and learn to recognize them. Next week you'll memorize twenty more." American education is more creative, and against "rote learning." The result is that here in Eurasia students have very strong memories, are very good at pattern recognition, and can beat the Americans in a question of "How do you code Kruskal's algorithm? Quick!" The Americans are not very good at memorizing anything, but I think they do better on problems that might be unlike any problem they've seen before, that maybe stumps a local. Also there are cultural factors. On the plus side, clever geeks here are definitely into programming, and PCs are more or less affordable; coding is pretty accessible. Lots of people see education and qualifications as their big ray of hope to make a decent living in a precarious economy -- and there is some truth to this point of view. On the minus side, creating a strong object-oriented design, writing maintainable software, doing good documentation -- not very much encouraged here. It's hard work, it is not nearly as fun as writing really hot code. So there is a tendency to turn code into an Olympic sport, with an accent on speed coding, learning all the cool algorithm paradigms, using clever tricks, the saving four bytes of memory, the saving of two clock cycles ... and writing unreadable, unmaintainable, undocumented code. That kind of coding is fun, but it isn't pro quality software engineering.
$META_SIG_JOKE
do, those that can't enter themselves into contests for faux kudo's on imaginary projects.
Gadget News at Gizmo.com
My wife and I decided to homeschool our kids because we think the educational system over here (USA) stinks. I'm not surprised we're not the best programmers. However, Americans are inventors and opportunists and frankly, programming is a dead end job. This is the problem I have with our educational system, it's setting our kids up to compete with cheep overseas labor, it isn't teaching innovation.
I see they're still stuck on the strange idea that speed is the proper metric for determining who's the best programmer.
Sheesh, evil *and* a jerk. -- Jade
"Our mothers fair badly on the world stage"
Maybe yours does, and perhaps your existence is proof of that on some weird level.
But my mother could not only kick your mother's ass, but I'm betting your ass as well.
"American High School Graduate: OK, two brothers are Singaporian-American of four Americans, OK, thats 2/4, so I er, carry the two, um, denomi-whassit. Oh Damn, I've run out of fingers, I'll just google it"
Obviously counting on one's fingers is seen as unmanly in the US.
I am 27 years old, I started programming when I was 11.
I don't think I'd participate in a contest that's nothing else than ego-feeding bullshit. Programming is not just about tackling a problem in a given period of time, it also has to be beautiful, it's art. It's not about solving a problem in a given period of time, it's about becoming the problem and solving it at its root, it's about the solution flowing out of you without having to put much effort into it. And if you do put effort, it's the kind of effort that after a few lines of code you just have to sit back and enjoy and say "DAMN that was great". A glorious moment experienced only by yourself.
I wonder if picasso participated in many topartist.com competitions, if einstein participated in many topscientist.com contests, etc.
Just because you don't give a shit whether the world thinks you are good or not, doesn't mean you are not good. 'Good' is a relative term anyway, so yeah, all the Dilberts that want to go get a top coder blue ribbon and a comfy job at AMD using a compaq running windows 2000 and IE 5.5 can go take pride on whatever shit they need. Whatever makes them happy. I don't enjoy Nascar, so I don't think a blue ribbon from a bullshit company will do.
the high school tendency to make fun of anyone interested in something other than sports? I'm asking honestly. Why do we encourage sports so much and not higher arts?
"the Eastern European economy"? Ever heard of the European Union? It's pretty much in transition to become one big economy. I believe that the current economic differences between the former eastern block and the rest of europe will slowly diminish.
I entered a couple programming contests for fun. It's kind of a thrill to have to solve 6 somewhat tricky problems in three hours, especially since you have to handle bad input of various unspecified ways. But at the same time, it's something that I kinda roll my eyes at when talking about these national competitions. Meet in groups? Have set roles for parsers, math guys, etc.? Bah, I'd go to the pub, put down a couple guinesses, and then go to the competition (which would always have free pizza).
I'd always go solo (the local competitions allowed teams of 2), and usually did pretty well nonetheless. If I'd win something, that was cool and all (they were offering $200 video cards as prizes), but generally I'd just look at which problem no one had solved yet (they keep a running total of solved problems) and go after that. I loved it when I had the only solution in the room. Not good game strategy, but much more satisfying.
However, it's just BS reporter-ese to transition from "winning programming contest" to "best programmers in the world." It's like saying a person who wins a spelling bee is the best writer in the world. It's an accomplishment to be proud of, but given how hard foreign university teams train compared with ours (our team met once before the state competition, for example), I'm not surprised, nor shocked, that they tend to do better.
"Dude," I didn't "play down the results in anyway."
... no reason for me to enter contests like this when I know I won't win them anyways.
eldavojohn
I was defending my absence at this contest. I would have liked to go but I didn't and the winners have a right to be proud of their accomplishments. This article isn't about the results, it's about no-show Americans and so that's what I was discussing.
The top winner more than earned that $100,000--I just don't have any motivation to prove to the world what "skillz I got." I make a lucrative amount of money doing what I do
... but if you live in mom's basement, or an impoverished economy the couple of thousand dollars you can make in competitive coding ain't bad. And the possibility of getting a real paying job is a great attraction to someone stuck in podunk wherever.
"Almost all courses are extremely hard to pass (we have some courses in HCI and you can sleepwalk those)"
Must be an open source coder.
Absolutely spot on.
Why can't Americans just realize that, taking away first-world advantages and throwing them into situations dependent upon meritocracy, that they really are just average?
Instead, first post that says, "Oh, we didn't do that well because we don't want to come across as ubergeeks etc. etc." gets modded up. Meanwhile, you can bet some radically different rationalization would be at work if Americans had placed a much higher number. American Exceptionalism sure is ridiculous.
"Best computer programmers" my arse.
I looked at a few topcoder questions recently and they generally started something like: 'Create a monotonically decreasing triangular matrix with the minimum possible values of X, Y, R and S where X =...' or something equally dull.
These are not interesting programming problems to me (and probably a lot of other programmers) as they are not creative enough. I would have thought they might possibly be interesting to some mathematicians with a side interest in programming.
Perhaps the american programmers brains shutdown as a self defence mechanism.
Why should there be more top American programmers in the world?
USA counts for about 4.6 percent of the world population. (300 million out of 6.5 billion). 4 out of 48 is actually almost double of what could be expected based on numbers alone.
America isn't known for its outstanding education system. So again I pose my question: why SHOULD there be more American programmers, and why are the results a surprise?
The only thing that surprises me about it is that there weren't fewer than 4 of the 48 who were American.
I'd like to stress that I'm not trying to be anti-American or anything... just realistic. If you want to change the numbers, you've gotta look at the truth of the matter, and make decisions from there.
Look at what the Russia and the European countries are doing right instead. It's curious to note their humble attitude toward their over-representation.
I consider myself a top programmer and I am back to school to get out of programming, so how anybody what to be a programmer and how you can be a top programmer when nobody cares? They care how expensive you are, nothing more (so if you produce too many bugs you are expensive, if you say no this will take + time, you are expensive) However, in the good side, there are plenty of good programmers in India. However, just in the good side: I never understood why the people that will care about the programming practices do not care: Learning institution and the Military. Then just realized that colleges do not care because they can raise the fees (they will care because nobody can afford the fees) and the military is because they have one of the best off shoring systems. So I am back to school, I know as a teacher I will make less money that I am making now but because a programmer in this days does not make a good salaries, so is not so painfully anymore.
I believe that the current economic differences between the former eastern block and the rest of europe will slowly diminish.
If that means the French and German economies begin to look more like Estonia's or Ireland's, then that's good. Otherwise, I don't expect the Eastern Europeans to put up with it for long. I think they'll continue to miss good opportunities to shut up.
This is the first post I've read not by dada21 to drip with uber-capitalist the-market-will-cure-cancer-and-death bullshit.
Forget the actual coding. If the project is well planned and designed then the code more or less writes itself.
I can't say whether or not Americans in general are better or worse programmers than the rest of the world, but some of those who are replying to this post definitely have insecurity issues, otherwise they would not devote some time bashing the competition or the competitors in General. Having said that, I most definitely agree with the people who said that these contests (TopCoder, ACM, etc) prove high programming skills, a lot of the TopCoder problems require a great deal of knowledge on Physics and Mathematics. Granted, a good programmer will understand the spec and code something that solves the problem while taking care of corner cases and the works, but good maths and physics skills will give you an edge on these competitions. On a side note, I think that even if American education was as good as education elsewhere, American culture is not very favourable to intellectual achievements, I mean American Presidents have always praised athletes and soldiers a lot more than they praised great thinkers (if at all). In a comparative example, researchers that achieve breakthroughs in the UK tend to get knighted. Even if it's not for the glory (which some people might not be too keen on getting), your paycheck will be much higher in America if you are an outstanding Basketball player or a Manager (that will outsource good programmers so they don't have to pay an American-class salary to an American).
www.meneguzzi.eu/felipe
By my estimates, the US has about 4% of the world's population, but they have 8% of this contest. By that measure, they're 2 to 1 over-represented.
If the best coders are abroad its not because america did not teach them its because america did not let them in. America gets the best scientists because its were the best want to be and they work like stink to stay. If you want better people just issue more visas.
One word: corruption.
The Rise and Fall of Online Community
I would also be cautious to make a general statements because programmers are considered 'elite' in Poland. There is huge competition to enter the computer science departments and the good majority of them can earn a decent salary after graduating (a decent in Poland, it would not be that great in the USA). The studies at good universities are hard with a lot of mathematics. The state of the general education is probably less rosy. I was teaching quantum chemistry at the university and the math skills of the students were not that great. However, some of the students were indeed excellent. I think it can be explained by large differences between schools in Poland. Some high schools teach very good maths and some are abysmal. I learned integration, differential equations and complex numbers in high school but some of my students had problems with functions, differentiation and some were even bad in fractions.
On the other hand, I took part in International Chemistry Olympiad while I was in high school and I remember the USA students were rarely at the top (and the results of the recent competitions linked in the Wikipedia article show similar results) but I'm still not sure it is because of worse education in the USA or that the science contests are less popular.
P.S Poland is in Central Europe. I forgive you your math skills but could Americans at least learn geography? :)
Save the bandwidth. Don't use sigs!
While our teenagers are busy flipping burgers and macking chicks, teens in Russia and Poland are spending time in the dim glow of a monitor. Who's the winner? I dunno but like a true geek I gotta believe it's not us. The American way of chasing a dollar is so really working against our future.
Obviously American's have nothing to prove, Microsoft and Google represent examples. Many European countries can say the same with many novel concepts coming out of there. This contest does underline a few challenges we face working with many businesses in America.
:-/
The climate at this time is very fast paced with little to no emphasis on the science behind it all. Some revolutions in programming and architecture recently has produced SOA and other concepts, but these are mostly encapsulating existing architectures & technologies.
Fact is most companies care little about producing good software let alone good code. This being the emphasis shows in our programmers. While there's a good amount ofvery excellent programmers in the US, there's a helluva lot more bad bad programmers in my experience...
If you're oil company XYZ, what do you care about software, so long as we're punching holes in the Earth's surface somewhere and pumping gas, it doesn't really matter to them..
TopCoder is all about:
* paying "prizes" as the equivalent cash salary would be below minimum wage
* scaring mgmt with "our process will protect you from untrustworthy developers"
* looking for free PR, to keep the flow of fresh developer blood
It is no wonder that the 3rd world is represented in greater numbers. Everyone else has a real job.
Actually no.
I have never released anything open source, and unless a company I work for decides to go open source, I'm not going to do it either.
I rarely code for my own pleasure, for me coding is something you get paid for*, what happens to the code is none of my concern.
About the HCI - theres a shitload of articles to be read - around 100 pages a week all written in secondary language (english), but passing the course is fairly simple, you just need to use your intuition and go for constructive critisism. HCI is a very soft course, you can basically say anything you wan't as long as you can argue why it is true. Algorithms, architecture, compiler etc. courses are more dependent on being "correct".
*Or is used for getting a grade
Contest organizers are kidding themselvs it they think even a mediocre American programmer will enter an undoubtedly difficult contest for the chance to win $20K. That's barely more than a months pay for even a mediocre programmer in the Bay area. If they spend an equivalent amount of effort at work they can probably get a raise that exceeds that amount (and that pays every year after).
When I was a teen, I taught myself turbo pascal. I had graduated from High school early and had plenty of time on my hands. Now, I am working a 40 hour work week, and I am too tired to get into python, or to do the openGL tutorials on Nehe. Europeans dont work nearly as much as as Americans, and have a lot more time to tinker around.
I attended the TCO 2006 finals as a spectator, because TopCoder does attract some really great talent and therefore makes for good recruiting and good entertainment. The talent pool does skew toward non-US and early 20s developers, because as you say, people who already have good programming jobs don't have the time or the real need to put in the hours of practice required to compete at these levels.
4 129668120/
But TopCoder is still a lot of fun. I gave it a shot - if you just look at it as a fun way to compete in a field in which you have skill, and not as some reflection on your overall talent level - you can have a good time.
Even being a spectator in the finals - being able to watch the top competitors attack some hard problems in real-time - was an exciting experience.
More thoughts on TCO 2006: http://journals.aol.com/juberti/runningman/
Photos from the TCO 2006 finals: http://www.flickr.com/photos/juberti/sets/7205759
I agree and disagree.... We do value Science and Tech, it's just that it's not the only thing we have going. As you say we have a very lucrative Law industry.... and Business and Medicine and Media/Entertainment, etc.
There are a lot of good minds here in America who have simply decided they are more interested in things other than pure science/math or they have learned that they can make a hell of a lot more money applying their intellect to less rigorous fields of study. If you're smart enough to be a world-class coder AND you have social chutzpa... well in America this means you can do pretty much anything you want to do. In Eastern Europe your best bet is probably to join a Maffia OR sublimate your social skills and stick with coding but be world-class OR move to America and become a financial mogul... if you get the chance.
A fool throws a stone into a well and a thousand sages can not remove it.
Tomasz Czajka is a CS grad student at Purdue University, so maybe the American education system isn't all that bad. (Though he probably got his mad sk1llz at Warsaw University.)
Only four of the 48 best computer programmers in the world... TopCoder
TopCoder tests only one thing; speed. I work with a person who won a prestigious TopCoder competition at a conference. He is fast, no question about it. When it comes time to add features or fix bugs, however, his code is scary. That doesn't mean the US has more than 4/48 of the best programmers in the world, but results from TopCoder mean nothing in terms of long term profit creation potential in a real enterprise environment.
Stop-Prism.org: Opt Out of Surveillance
What percentage of the basketball players in the NBA are white?
vs.
What percentage of the TopCoder programmers are American?
Do you really think it is about race or nationality? Or is it really true that it is economic opportunity? Or do you think it's just that not enough white basketball players want to play basketball as a career?
You want to earn some real money? Don't waste your time in science - go study law.
Amen to that, to be really successful and recognized as that in Capitalism you have to make money, it does not matter how you do it. That is why careers in International Business, law other social sciences are the ones that have more demand, because in the eyes of the world a successful economist gets the front page of the magazine, while a successful scientist gets the 1 paragraph note in the "miscellaneous" page.
Ubuntu is an African word meaning 'I can't configure Debian'
Good programming is not about whatever this contest rates. It is about whatever I think I do every day. Programming about math and stuff is dumb because people don't have to now math to use programs.
Americans have better things do than achieve things and to being smart. I heard about a guy who was an American and he was smarter than this other guy I heard about who was from Djibouti. He was my friend, so it's.. its.. the'ir..
my thing is right.
Las Vegas sucks anyway.
And tell me that math doesn't count. http://en.wikipedia.org/wiki/Enigma_machine Even if you do not use it all the time, it trains you brain for problem solving approach. Furthermore it improves you abstract thinking! A friend of mine who studied in Poland and in US compared math level in US in the junior MS to lower grade in high school.
Sorry for joking about it. Just was trying to assert the same points you made while attempting to incorporate classic slashdot humour points. I don't really know what the purchasing parity is between the US and China, but I can imagine making a few thousand dollars whether living in mom's basement or China means a lot more than to someone who makes six figures. Although to the slashdotters out there who make six figures and still live in mom's basement money is not an incentive at all...
Regardless of the money won or potential job opportunities, the chance to learn from others through competition seems to be most beneficial. I think the second part of the TopCoders competitions where your code is peer reviewed sounds like a great way to get your eyes opened with the potential of a swift kick to the skull.
As a working developer, I am planning on participating in the Brainbench olympics next month as well as hoping to partake in a TopCoder event in the near future. It looks like a fun way to kick the old skillset up a notch. Even though I have no plans of switching jobs, it is important to guage proficency and keep motivated rather than rotting while resting on some notion of laurels. And winning a few bucks is not a bad deal either. Definitely better than rotting away at the casino down the road.
Why would you open a new business anywhere in Europe outside the east or Ireland?
I can tell you flat out that the corporation tax rate in Ireland, (~12%), is the only reason companies set up shop here. There is nothing in this country. Nothing. No natural resources, no communications, no services.
There's a lot of talk about the education level of people in this country, or our industrious nature, or the openness of the country. It's all 100% bull. There is only one thing Ireland has that brings jobs here. Low Corporate Tax Rates.
Word to the wise, it brings jobs, but little else. Consequently, it's common to miles upon mile of one to three old saloons and SUVs, brimmed with CD players and suave, well dressed, chic Paddys, all stuck in a tailback that can be seen from space because the government cannot afford to upgrade the non-existant public transport in the only european capital without a rail link to its main airport. We're all rich over here, but the government is broke.
May the Maths Be with you!
Maybe this is the answer, why in USA school pals desn't like clever guys and tease them.
Here in Poland being clever isn't a shame. It seems that difference between polish and american geniuses is a difference between modesty and conceit.
Isn't that true??
/Z
We don't value science and tech geeks here.
The number on my paycheck says otherwise.
Our stupid 1950's, highschool football culture doesn't value science and tech geeks, but our businesses do. The prizes in that competition are too puny to be worth the time, had I or other people I've asked even known about it before it now. If I were going to enter some coding competition, I'd rather enter the IOCCC. At least people have, you know, heard of it.
Free time is the only thing that this contest shows. If you are a great programmer but have a heavy workload, as I would expect of a good programmer, then the odds are that you wouldn't have entered this contest. A good or even great programmer should be too busy working on paying jobs than some contest which would take up you time better spent making money. Borders aren't the issue as you can get a coding job anywhere in the world as long as you can spit out the code.
its that all those lazy Europeans were on one of their 10 weeks of vacation, per year. Or, more likely, out of work with time on their hands.
Who says we're not innovative? Seems to me we're much more innovative in creating jobs for our freaking citizens.
Get off you lazy asses, come back from your siesta or labor strike or whatever your deal is this week and WORK.
I have participated in the ACM Regional Programming Contest (and placed!). I have also been a TA at a university for a while....
This is what I have noticed.
In US undergraduate education:
1) Programming courses focus on syntax, not readability, not efficiency.
2) Little is learned from the "algorithms" course that is supposed to teach what a binary tree is, etc, etc... I Even worse, this is course isn't taken until the Junior/Senior year of college (if at all). I bet 80% of a graduating CS/CE class wouldn't be able to implement a sorting algorithm if their life dependend on it (at least not an algorithm other than BubbleSort)
3) Programs are never complicated enough to require any substantial "debugging" effort.
So when people graduate, they don't know how to write efficient code, don't know how to debug a program, and they barely have had any experience with algorithms...
In programming classes that I have been a TA, I have seen this:
- Students don't even know what neatly written code looks like. They don't understand why it should be neat.
- Students don't bother with debugging (write the program, compile, run, scratch their head as to why it doesn't work).
- *Computer Engineering* students have no concept as to why integer divison is slower than integer addition, etc, etc... [WTF!]
- Global variables are used out of laziness.... Even the index variables in a "for loop" are often made global!
Hopefully these skills get developed during coroprate employment.... But I bet the employers aren't too thrilled at waiting 2-3 years for their new hires to actually become average coders.
I would like to see a course where students are given a pre-written broken program and they are asked to make it work. They might actually learn something then.
I have actually seen commercial software use O(n^2) sorting algorithms... Instead of an operation taking 3-4 seconds on a similar program, it took 5-6 MINUTES with an O(n^2) sorting algorithm...
And to anyone who thinks programming contests are silly: Yes, the idea of implementing 3-4 small programs in an 4 hour period is a bit unusual... But how long is your employer going to allow? Especially when a hard deadline approaches? A programming contest should be a lot less pressure than when the welfare of your family, job, and paycheck are on the line...
I will be the first to admit that I could not keep up with the math programs in Poland. When I moved to the U.S., it was very easy for me to get straight A's. What I did in 6th grade in Poland, I was doing in advanced high school algebra in the U.S. However, what this article fails to address is that a LOT of people in Poland drop out of science oriented schools and opt for more technical(masonry, farming, etc) schooling, where math is not as prevalent. The ones remaining are usually the best. When you have only really good students that 'get it' in class, its much easier to advance to more complex math problems. You get rid of the anchors. In the U.S., there is more compassion in schools for the bad (slower) students. Teachers will only go as fast as the worst student. The advanced programs are not any better. You always have 2-3 students in advanced programs that should not be there. Also, it is important to note that when you are in a math program in a university, you do not do anything but study math. In the U.S. you have to take various classes and then maybe 4-5 that are actually related to your program. In Poland, all classes are related. When you study math, you do not study Russian, or theater or anything else. This has its draw backs too. I now have a small company where I employ a lot of Polish programmers to do various tasks. However, the tasks that my clients ask for are very simple, and actually bore some of my Polish programmers, which in turn sometimes creates product that is sub-par. These programmers also have no idea how to treat customers, what marketing is, or how a business is ran. They know math and programming very well, but thats it. Not everything is as it seems.
Intelligent Design
Most Americans are stupid and arrogant. This is a surprise?
If you really think you can enter this contest and finish in the top 48 then you badly need a reality and humility check. There are very smart people in that TopCoder community, like Reid Barton (four time International Mathematical Olympiad champion FFS) or "Radeye" (from dvips fame: enter *any* shop selling scientific books and dvips has probably been involved in their making at one point or another). Some of the guys in the Top 20 are what most people would call "geniuses". For example:
http://en.wikipedia.org/wiki/Reid_W._Barton
If you think you're smarter than this guy, you need a humility check, it bears repeating... And he's only ranked 10. Of course TopCoder isn't only about math (maths on TopCoder aren't actually very complicated maths).
It isn't just about memorization either (you'd have to know basic algorithms, but quite frankly I dare to call anybody a "programmer" or a "coder" if he doesn't know basic graph theory). It's about reading fast, understanding fast, finding a solution fast and coding it fast and correctly.
I know several "top dogs" who were thinking they were all the shit... I said "OK dude, come get some in the arena if you really think you're that good" and what happened after two or three matches?
The reality check that most of you need.
It doesn't take a long time either: one our and half every ten days or so (and you don't have to compete in every single match... Play once a month if you will, it doesn't affect your ranking). Stop finding excuses and try two or three matches. You'll see "extra-terrestrians" having solved problems before you've even understood them.
I do compete from time to time, I'm a mid-ranked yellow... Which I consider a reasonable rank on TopCoder. And I know there's no way I could make it to the 48 that are invited each year to compete in the final. I've once finished 16th of a single (division 1) match, but to be amongst the 48 finalist you've got to perform well enough in several matches in a row. I'm not arguing about my limitations, I'm being realistic. And you know what? I'd still beat flat out 9 out of 10 (probably more than that actually) of those "I don't have time to compete/memorize/I've got nothing to show/etc." people posting here.
The level of some of the discussions going on TopCoder's technical forums (not all TopCoder forums are technicals) would probably make you understand you're really not as good as you think.
And most important of all... It's fun!
Those guys are also very nice and willing to help: you'll meet and have the opportunity to discuss with some of the very best coders in the world and everybody there seems to have a good karma, unlike here where it's all about blindly criticizing and nay-saying.
As a side note, both Google, Yahoo!, the NSA, Intel and AMD are recruiting TopCoder members performing well.
Wanna work for Google? Try to be a finalist in Google Code Jam (US, India or Europe) organized by TopCoder. That alone would probably net you a job offer at Google. But you know what? You probably won't make it to the final.
You can't fix stupid. There's not a pill you can take, there's not a class you can go to. Stupid is forever.
I was homeschooled and therefore received close personalized attention. As an adult, talking to the friends I have who went to public or even private school, the constant I've noticed among the smarter ones is that all of them were horribly and completely bored in high school. Some people are innately brighter then others, some bulbs are just plain dimmer. Our public education system now tries to force children into a single educational standard, an average, which the dimmer ones can't measure up to and the brighter ones are bored to tears with. Ideally, we should have courses individualized to each student, moderately challenging for every individual regardless of their ability level. Of course, we don't do that, we go with the cookie-cutter approach because mass-production is easier and cheaper then custom jobs.
Making things worse, when the dimmer ones are identified the system often times gets brought down to their level, discouraging excellence from the average and the brighter students. On top of that, the brighter ones get teased and ridiculed for being smart. Intelligence is mocked in our society, from the very top on down. Just look at how proud our freaking President is of his lack of intelligence, and look at how demonized the intellectuals are in our country. Observe how much science gets attacked by religion. It's an old story but it keeps renewing itself.
Never give in--never, never, never, never, in nothing great or small, large or petty, never give in except to conviction
its simple, the best programmers in the USA are too busy working and making money to participate in silly competitions. Why go to some dippy contest, when you are busy building software for Google, or Microsoft, or SUN, or Apple, making gobs of money.
To Hell with contests. If that were me, I would rather be doing something useful.
sometimes, i wonder if i'm the only conservative on teh intarweb. ah well, back to mah hogs and warmongerin'....
I'm not going to comment about european coding talent. I'm not educated on the subject. I will make a subjective assessemnt, however: europeans sure seem more self-aware than American. Like they've looked into themselves more than we have. Kudos to you Euros. Of course, I've been wrong before.
http://www.mcplusplus.com/ MC++'s song about Tomek rocks! http://www.cs.purdue.edu/homes/anavabi/mp3/MC%20Pl us+%20-%20Algorhythms%20-%20T.O.M.E.K.mp3
This thing is sponsored by the NSA. All this proves then is that eastern europeans are a bunch of tools who will do anything if dangle a bit of gold in front of them. I'm proud that no americans placed in it. It's telling that half of the american "top coders" were Asians. Those guys are the biggest tools of all. No sense of what the hell is going on, just want to cozing up to someone powerful and serve them.
You also have to look at the requirements to play chess: a brain, and a chessboard. Much like the Soviets were great at theoretical physics because it was cheap and just required smart people and pen and paper. Smart people exist everywhere, and in cases where they have fewer opportunities and less money, chess is a great way to prove yourself.
You can lead a horse to water, but you can't make it dissolve.
that really puts a damper on the "dumb polock" jokes
... Maybe we should ship the job of programming duke nukem forever over seas, they might be able to finish it!
And google code jam in India http://googleblog.blogspot.com/2006/04/this-years- india-code-jam.html
tempted "15,000 entrants"
Wow .. !!
Chris ,
Php Programmers.
Good point Jacek!
/Z
There is about 40% unemployment rate among young people in Poland.
Almost 60% of students is going to leave Poland soon after being graduated - most of them will be working in distant countries far below they skills.
I'm working as IT engineer in Poland and got salary of 1200$ per month (after taxing).
Many young IT graduate could only dream of such job.
Although I'm going to immigrate somewhere else soon (maybe Ireland?) - it seems that my skills (5 years of work as Ericsson AXE programmer) are highly undervaluated here. Also I just starting to be sick of all that shame and mayhem in Poland.
Regarding recent polish elections results.
Votes were divided almost exactly in half: young educated people voted for PO (Platforma Obywatelska - which proclaimed flat simple taxes, economy deregulation), the other half (mainly old people from small towns and villages) voted for PiS, LPR and Samoobrona (progressive and heavy taxing, social security - far right side socialism in general). Unfortunately the second fraction win by few percent so the young people just vote with they legs now - by leaving this sick country.
Want a good programers for a tenth of they value??
Just place an job announcement in any polish newspapper...
Success guaranted.
East Germany didn't secede. There were four zones of occupation in occupied Germany. The British, French and American zones merged into one and the Russian zone became "East Germany." It was broken up by the occupying powers.
Why is it that most people here think Americans wont enter the compertition because they have jobs as if Europeans dont have jobs. The English are widly known to work the most hours in the week, the least amount of hoildays in the year and have a high retaring age. So why is it that alot of people here seam to think they dont have team as if the europeans only have a 10 hour week or something
Visit My Blog at http://spaces.msn.com/members/chrisharries
...to the unemployment rate? Just a thought.
Who has time to compete in a competition when we are so busy working to earn gas money?
American software engineers are building companies and developing products. While international guys might be really good at small technical issues, they'll missing the big boat.
It either gets oil, or it gets replaced... 50/50 shot.
I'd just like to re-inforce what is said about maths ability in the eastern world. Maths as a subject is placed in rat empahss in schools in eastern countires because its a "universal language" in which people can compete with the western world with much lower language barriers. I'm in Y12 UK at the moment and the chinese peope in my maths and further maths classes have all been used to a far harder but less time based math system than the uk/us. This kind of development of maths as problem solving is much more condusive to programming than the UK/US(as I understand it your maths level is moderatley comparable to ours). This certainly helps produce this kind of statisctic. BTW for a programmers website that one is horrible. try some validation checks on it..
... because we're too busy working overtime?
And that's why some of us take the extra step in modesty and try to pass as americans when they purchase various things on the net.
If all of your friends write like you do, that's no surprise...
So Americans are overperforming their expected representation in the set of winners by 84%. How is that a scarce showing? You have to be arrogant and ignorant to expect much better than that.
Yes, and in basketball the teams should co-operate to put the ball in the basket. That way, the score would be much higher.
Sharing is great, but competing is fun too - and is a great way/motivator to build skills.
These competitions actually foster a great deal of comradery and idea-sharing - via pre- and post-match chats, forums, and new contacts. I'm pretty sure most of the conversations about gradient analysis I've had with Polish developers wouldn't have happened without TopCoder. Without TopCoder, I wouldn't think about these things at all - in my "day job", I never have to deal with complex algorithms. Very few programmers do.
Let's not stir that bag of worms...
My first response is "What contest?"
My second is "Who cares. They can probably use this more than I can anyway."
There is about 40% unemployment rate among young people in Poland.
/Z
Almost 60% of students is going to leave Poland soon after being graduated - most of them will be working in distant countries far below they skills.
I'm working as IT engineer in Poland and got salary of 1200$ per month (after taxing). Many young IT graduate could only dream of such job. Although I'm going to immigrate somewhere else soon (maybe Ireland?) - it seems that my skills (5 years of work as Ericsson AXE programmer) are highly undervaluated here. Also I just starting to be sick of all that shame and mayhem in Poland.
Regarding recent polish elections results.
Votes were divided almost exactly in half: young educated people voted for PO (Platforma Obywatelska - which proclaimed flat simple taxes, economy deregulation), the other half (mainly old people from small towns and villages) voted for PiS, LPR and Samoobrona (progressive and heavy taxing, social security - far right side socialism in general). Unfortunately the second fraction win by few percent so the young people just vote with they legs now - by leaving this sick country.
Want a good programers for a tenth of they value??
Just place an job announcement in any polish newspapper...
Success guaranted.
Seriously. I know a lot of really smart coders (being a mechanical engineer, I'm mostly a Big Math guy...not so much apps), and pretty much all of them couldn't care less about Top Coder. Why? Because they're too busy being productive and making money writing apps
...Or surfing /.
These articles are sensationalist BS. The sky isn't falling. Go back to work.
Poland's Krzysztof Duleba, 22, explained that in countries like his own, there are so few economic opportunities for students that competitions like these are their one chance to participate in the global economy.
I don't recall commenting on Polish economy (I have my opinion and in fact I think it's doing quite well).
I said that in Poland we don't have too many *scientific* opportunities and that biology, chemistry, physics etc. are underdeveloped in comparison to maths and CS, so bright students lean towards maths, while in western countries they have wider choice.
I also mentioned our general high competiveness and great job done by the organizers of Polish Olympiad in Informatics and other contests, but those comments didn't make it to the article.
Krzysztof Duleba
Even being a spectator in the finals - being able to watch the top competitors attack some hard problems in real-time - was an exciting experience.
Wow. If you think watching coders think is exciting, just wait until you discover organized sports.
Football, hockey, baseball... well, scratch baseball (most overrated game in the entire history of games)... hell, I'd watch seniors curling before I'd watch a programming competition.
I'm a coder (although not a world-class one by any stretch of the imagination), and I've had people shadow my work during career week. I can't imagine how bored they must have been. I wish I could apologize to them for turning them off of the career.
Visions of "whole asses" planted in the ground, some butt-upward, some butt-down.
"It's arrogant, ignorant, and shortsighted to believe you can just "teach yourself" and "figure out" perfect solutions to all the potential programming problems you'll encounter, while ignoring all the work done (and published) by the computer science and mathematical luminaries that preceded you."
Does this apply to "legal"/"economic"/"business" posts on slashdot?
I have a CS degree, and I can tell you that what I do on a day to day basis is not Computer Science. (I am employed as a Network Manager for a bank - also not CS).
Computer Science is Math and Algorithms - figuring out optimal ways to search, sort, navigate fully connected networks....etc. Computer science is the science of solving complex math problems and creating the code to do the work.
Figuring out how to solve the towers of hanoi problem is computer science. Coding the result of that work is "production" work. Much like the artist and the press operator - one job is art, the other is production.
Repeat after me: CS is not administering a network or coding and these contests do not prove anything.
to India but the time delay killed them. They were found to have the most extensive documentation, however, and already have a 24x7 help desk available.
I got into this profession to build systems that solved problems and made people more efficient, leaving them time to do recreational things. So what if everyone can solve some arbitrary problem 20 seconds faster than myself? The job isn't all about coding, hell it isn't even 50% about coding.
But hey, good thing you found a niche I suppose. How's the pay working out for yah?
Blar.
I have had similar experiences.
Having attended several US institutions, I would have to say that while I have no evidence that the educational system was ever worth a shit, it certainly isnt now.
I hold a BS in Management from the "Harvard of the South" in New Orleans, but I also went to several other SEC schools. Even at the best of the three, but they were all classes in which I could easily get an A or B by reading the book the night before the test or writing a paper the night before it was due. I partied my ass off and ended up with a 3.7 GPA. I then went to a research institution down south where I got a 4.0 in IS without even really doing anything.
Since I did so well after I graduated they hired me on as thier sysadmin, and I got to see the corrosion of the system from the inside. Its fricking rotted. The problem is that there is absolutely no incentive for a professor to give a crap about teaching at a research institution. THis is becasue they dont get paid to teach. They get paid to do reasearch. Teaching is the annoying thing that pisses them off and they try to get it out of the way as quickly and painlessly as possible so they can spend more time working on thier shit so they can get tenure and sit on thier ass for the rest of thier life. Who could blame them for this? Oh, and when the budget cuts come, who gets cut? The professors? Nope. They bring in revenue in the form of grants. The instructors. The people who are there to actually teach. So they fire the long time instructors who actually know how to teach and pay grad students to take thier classes. Who teaches the grad students how to teach? The same professors that dont give a shit about it. Its seriously a game of who can slack more... the students or the professors. The professors dont have any incentive to be hard on students.... they would rather be easy and have everyone slide thru the class, no problems, give em an A or a B and they are happy and move on. Oh, every try to fail a student? Thier parents call and complain. They bring up any unfair thing you did the entire semester. They come up with excuses for missed tests that thier parents back them on. I had 6 grandma's die in my 1 semester of teaching, in a class of less than 100. Thats gotta be statistically significant.
Meh. Lets just say I know the system, and it sucks, and its not gonna get any better until something big happens, like students quit putting up with it and refuse to pay the high tuitions for a useless piece of paper. Stay away from grad school like the plauge, unless you strive to be a PHd who gets summers off with that sweet tenure system.....
Shit, I have to go to a client site. Time to wrap this up.
you can't ack before you balls.. you just
When I was in college, I had better things to do (work) then to participate in a programming competition.
The only thing that you can deduce from the outcomes of a programming competition is who, out of people who do not have something better to do, can program the best.
It troubles me that we glorify ad-hoc software development by making the nationality of contestants some sort of benchmark for some lame "news" story designed to place American professionals in an unflattering light. Of course, corporations (who advertise on the "news" sites) will point to stories like this one as justification for raising the cap on the number of H1B work visas.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
It doesn't matter where they start out, as long as they all end up in the US. With that in mind Americans should be careful that their state remains as free and attractive as it's been in the past.
I Browse at +4 Flamebait
Open Source Sysadmin
Once again, contest results are announced and people want to over-generalize in one of two directions: either that a country's entire prowess rests on the competition results, or that the results show nothing at all about anything [with the subtext that If I wanted to I could win but I have better things to do].
...
TopCoder, unlike ACM, actually claims to identify the best coder. What a load of crap. TopCoder is a sport, like ACM, like soccer, or anything else. I sometimes watch hockey. I've even played it. I would never claim that I could be in the Olympics if I wanted to. I could not be in the Olympics or the NHL no matter hard I tried, and that probably has relation to the fact that I don't want to be.
First, if you look at the long-term TopCoder country rankings, they show the US third after Poland and Russia:
http://www.topcoder.com/stat?c=country_avg_rating
Poland is exceptional given its size; they have a very strong contest culture. Canada is also exceptional, currently fourth, followed by China.
If you look at the top schools you'll see two Polish, two Russian, two Chinese and two Canadian schools in the top ten, with Canadian and Polish teams taking slots 11 and 12.
Why is this? Partly culture. TopCoder has a thriving on-line community and is, like any other sport, more popular in some countries than others. I think that secondary school education has something to do with it, too. University/college education is less of a factor.
In any event, the United States for its population ranks just fine at TopCoder. And at the IOI. At the ACM contest, not so well
a sad decline in American education and competitiveness
The direct result of using layoffs as a budgetary tool. Every layoff costs the entire society millions of dollars in wasted effort.
If the U.S. is not competitive or is uneducated, it is the fault of U.S. business management. End of story.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
Here are India's stats on topCoder Rank Country #people Score 15 India 931 1856.04 I'm not sure how the score is calculated, but apparently Indians aren't any better than Americans and that hasn't stopped them from persuing Information technology futures. 3 United States 987 2492.30 source http://www.topcoder.com/stat?c=country_avg_rating/
Hmm... I think you are just not talking about the right schools. I can remember many an exam where we were allowed to bring any materials we wanted (and I do mean anything) and the average grade was a 50% or lower and the professor did not hesitate to nail you with an F.
:)
I remember tons of freshmen failing out that belonged to the "square root" club - you know, where the square of your gpa is lower than the gpa itself. Maybe they all decided to get CS degrees elsewhere...
Lastly, I remember being in my final quarter and when the prof asked who was graduating and you raised your hand, all the other students clapped in appreciation that you had made it (and not in a sarcastic way either).
Sorry for the bad grammar - went to a technical school in Georgia
TopCoder and other competitions are as much about the coaches and the effort people put into training as they are about intelligence. The people who do really well on these competetions train very hard, specifically for computer science contests, and the University of Warsaw people have a really, really good coach.
I think that America does poorly on TopCoder not because we have poor students (although America's educational system could be better), but rather because Americans aren't as interested in it. I don't know who the other two Americans are, but I expect that several of my friends and I would have a good shot at Las Vegas if we studied a few hours a week as an extracurricular, particularly if we had a coach as good as the Polish guy.
I'm not just spouting this, either. TopCoder is very similar to the math olympiads and the Putnam (which I have first-hand experience with), so much so that the same people often do well at both (Reid Barton, Po-Ru and Po-Shen Loh won multiple gold, gold and silver respectively at the IMO).
I hereby place the above post in the public domain.
I'm an American, and I didn't compete in topcoder because they have options for C++, Java, and C#. I program primarily in Lisp and Obj-C, Python, Perl and JavaScript.
Who moved my sig?
Here are India's stats on topCoder
/
Rank Country #people Score
15 India 931 1856.04
I'm not sure how the score is calculated, but apparently Indians aren't any better than Americans
and that hasn't stopped them from persuing Information technology futures.
3 United States 987 2492.30
source http://www.topcoder.com/stat?c=country_avg_rating
Capitalism either directly invests in research on cancer and "anti-death" drugs via pharmaceutical company R&D, or it indirectly does via tax dollars going to public universities and government agencies.
Capitalism is the soil in which all other things grow. It is the most effective tool for generating wealth that the world has ever known. History has invalidated all other known forms of economic organization, at this point they are fantasies verging on religions (Communism is at this point a Faith-Based system).
Stop worrying and learn to love Capitalism.
Yes. That is why you see any American student who can possibly make the entrance requirements and foot the bill going to China, India, Korea, or Saudi Arabia to study. Thats why American and Mexican politicians alike like to start their resume off with a good credential like a degree from Universidad Nacional Autonoma de Mexico. And why if you go to the math department at a great Russian school you'd better have majored in English because thats what 50% of your classmates will be most comfortable in.
Seriously, while I'm quite prepared to accept that American education is very unexceptional for a first-world country through, say, high-school, the world is beating a path to the door of American universities for a reason. This isn't to say that good schools in, say, the UK or Japan aren't excellent places (they are) or that the very best school in, say, Mexico isn't a great place to be (that would be the aforementioned UNAM, and it probably is) or that there aren't a gazillion problems in higher education (oh, don't even get me started). All these things are true. But regardless, American universities are justifiably the envy of the world.
Help poke pirates in the eyepatch, arr.
You can't compare by just looking at total population without considering the level of development that most of the world population lives in (America is supposed to be the most prosperous nation after all). But even disregarding that, Poland's population is 39 million; this is 0.6% of the world population and gives us 0.3 winners "expected", not 11; the question is, why is Poland doing so much better?
china, only 4; same as america
india: zuk
pakistan: zilch so who exactly is worried about what!?
The tranquility of the New World Order cannot be threatened by a pack of under-age nerds and foreigners!
I18N == Intergalacticization
If code really really well they can beat you like a mule for 3-4 years before they send your job where the Tigers eat you. Or, you wind up another 'manager'.
After all, where are all the high paying IT coding jobs? Working for a consulting shop throwing together shitty script code to get some ERP or CRM project off the ground for the second or third time.
I've read nearly a hundred posts in this thread, but I think many people are missing the point. Does it matter in the real world if you're one of the top 100 coders? NO! When you're a professional developer/systems architect, there are many points that are essential to your success, and coding ability is only one of them. First and foremost, you need good communications skills. Without them, you don't understand the problem and you won't come up with the correct solution, regardless of skills. Then you need to understand the business processes behind what you're doing. While this may not apply to someone developing a kernel, I'm guessing most coders are developing custom software to support a business or a particular business unit. Then you have to realize that business is very short-sighted. Most companies won't care if the solution isn't implemented in a particular manner as long as the solution WORKS. This is why more than a few companies are moving their outsourcing solutions back the the US and Europe. Communication barriers (not just language) and a lack of understanding of business processes in the western world can lead to increasing development costs and time.
Mod me down, but after 10 years of development I realize its never the best coder that gets paid the most.
Lighten up. Its only a post.
Remember the Mexicans that are willing to do the work that most Americans won't do ?
:(
Some with the programmers. Programmers from Central/Southern Europe( yeah, that's correct geographical location if you're so keen to use it) are skilled for a reason, they were willing to spend 4-5 years of their lives finishing a demanding faculty and a very competitive environment.
It's free, being FREE means lots of good people want to get in hence the great competition. Let's be honest, there is no competition in States' educational system. Students in high school are playing Monopoly at Geography classes! And if you don't get the right answer when teacher asks you, you still did a good job - no, you sucked because wasn't the correct answer. I'm a Central European myself, and I know that from 1st grade till in 12th grade I was after those top spots in my class. Yeah, they had one 1st place, one 2nd place, one 3rd place and several honorable mentions at the end of every scholar year. That created a lot of competition and help me over the years. On top of that all was FREE!
Teachers/Schools are not willing to expose to possible law suits and the are very soft. If a kid does a mistake he/she should know; that's why we pay teachers for, to teach, to provide the right information and to correct the kids when wrong. Also there is no competition between the kids at school. Teachers cannot use red to correct the students papers. All this stuff is non-sense !
Coming back to Central/South Europe. A BA in Computer Science Engineering usually takes 4-5 years and students only learn math, electronics, programming, algorithms, techniques etc. No sports, not off topics that are not tangential with the computer science or if they do any of these, they are optional so they won't matter on your grades/credits. It's hard work like the president says...
In States you go take a class and you think you're the best programmer if you got an inflated A. Same things are happening in some countries in South Asia lately.
Education in precise science was on of the things where former block was way ahead of US. States are importing brain developed and educated in other countries and there is no need to train people since that's an expensive job and most of the people in states don't care for science.
Intelligent design, entertainment and foreign politics is what matters in States...
"In fact, math is harder, and after doing some higher maths, you will surely be a better coder. Maths expands your mind."
Math is easier than programming. In math, you only express a relationship between things in numerical terms. In the more robust logic systems of a computer, you also have to take into account many more variables (unless, of course, you're doing programming purely on paper).
Math is more formal than computer science thanks to the push towards better proofs in the 19th and 20th centuries; Computer Science is currently around where math was in the 15th and 16th century -- lots of hacks working at it, proofs for sale, "instinctive" and geometrical proofs unbacked up by any kind of algebra. Just because that makes it seem easier doesn't mean it is. I'm sure Dijkstra, an accomplished mathematician, would have harsh words for those that say math is harder.
Math is a subset of programming. People who can't see that the logical expression in terms up pure numerical values is a subset of higher-order logic are like Leopold Kronecker, who opposed set theory as having any relationship to mathematics in the 19th century. Nowadays, most mathematicians agree that set theory and mathematics are correct.
There are proofs that are very hard to do with traditional mathematical techniques that end up being only a few lines when you apply Turing's approaches.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
"Wall Street Journal columnist Lee Gomes asks whether this is more evidence of a sad decline in American education and competitiveness: "
Oh I don't know. This guy's work shows that Americans have the talent.
Look, I'll make this REALLY simple.
50% of students in graduate school programs for technical degrees in American universities (including programming if you're the type to see it more as an art than a science) are foreign-born, non-US citizens.
If that's not enough to convince you that American universities are good, I don't know what it would take. The implications are astounding if you think about it. On the one hand, you can pretend it means that American students aren't interested in getting an advanced degree in a technical field (illogical assumption, but we're playing "let's pretend" anyway). On the other hand it means that there are millions of very well qualified non-US citizens who would love to come to America and work on some extremely high-tech projects (in addition to having their advanced degree paid for by a company more than likely very interested in hiring them once the degree is completed).
Anyone who believes that American schools are "crap" is saying so for a reason other than expressing general fact. Either they have had bad personal experiences, they believe what the media tells them, or they have a superiority complex that excedes the "American Ego". Yes, go ahead and cite figures from the 25-year-old study "A Nation At Risk" presented to Reagan and fall into the same hype-mill that has convinced so many people to ignore the fact that we have equivalent education systems in this country to those with whom we are being compared. Heard of "tracking"? We don't use it. Heard of "free public education", well you've probably also heard "you get what you pay for" as well.
Making sweeping generalizations about education on Slashdot is nothing new but I hope you can now see that you should handle your statistics more carefully. Remember, there are "lies", "damn lies", and "statistics."
Where I went to school, you have to get passing grade on all subjects to get "ranked". They publish the scores of all the students publicly. We discussed grades openly. We made fun of kids who failed. College entrance examn results, ranks are published in web sites for the whole world to see. For rank holders of prestegious examns are published in newspapers. Just today I saw in a Indian newspaper the Rank List of candidates for some civil service examnination with photographs of the top 10 candidates. When did we see public accolades for students with good academic achievements? You see sports, sports, sports and more football stars on local newspapers, school newsletter etc. The kid that slogged to get stright As must hide the fact and apologize to the student body for making the dumb kids look dumb. If shaming a C grader in high school motivates her to study harder, let us shame her. If shaming makes her sulk and demotivates her, then that dumb chick's self-esteem and ego is not worth protecting. Let her find work hard in something that interests her and the she feel proud of that. Never protect the self-esteem of slackers.
The American School System is turning out exactly what it is designed to churn out. Dumb students with inflated egos. What is really amazing is that it also produces remarkably intelligent smart graduates. Despite being labeled nerds and reviled, with absolutely no encouragement from the system, constantly discouraged from flaunting one's grades and academic achievements, despite all, America still produces some of the most gifted and amazingly intelligent students. But for it compete with China and India churning out millions of engineers, it is high time we let our Straight A students a little chance to swagger.
I immigrated to USA hoping to see John Galts, Howard Roarks, Taggny Taggarts and Hank Reardens in charge. Now I realize here too, just like in India, it is Ellsworth Tooheys who are running the show.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
Consier this admittedly rough calculation:
An American coder can produce x widgets for $90,000
A Chinese coder can produce x widgets for $15,000
An Indian coder can produce x widgets for $10,000
Whom would you hire, if you were a C-Level exec -- remember, your concerns include strategy and shareholder value.
The answer it seems is quite simply -- you forget about the American coder who's far too expensive and produces marginally more than his Chinese or Indian counterparts. These days in fact, no bank, insurance company or large IT company can appear for shareholder meetings without a serious outsourcing plan. That's just how the market forces act.
Imagine if companies in your 401-K decided to use American coders, thus enduring lower earnings and/or losses -- how quickly would you drop them?! Imagine now if their competition did use outsourcing and achieved far higher returns for their shareholders -- any wonder then, why outsourcing is so huge, and will only grow bigger and bigger.
I've resigned myself to the fact that I must soon leave the coding to coders in India/China, and move myself up the ladder to management. I have to imagine that that's what my parent's generation went through when the American steel industry went through it's pains adjusting to international competition... and they survived, and thrived. I must too.
You're right that professors at research institutions pay little attention to teaching, but tenure's not a sweet system. It's quite vicious. Professors have to bring in a large amount of external funding (typically over $1 million for engineering disciplines) to get tenure, so they're working 60+ hours a week. Summer just means you spend all of that time in the lab instead of most of it. If you haven't brought in enough funding by your 6th year when you apply for tenure, you lose your job. Some universities give tenure to less than a third of their applicants.
These coding competitions are not indicative of how good a person can program. It just tests how much you can memorize and how fast you can type.
We found out the hard way. We hired one of the winners from one of these competitions (Top Code or Google). He's a terrible programmer. The amount of messy from him we have to clean up were painful.
Yeah, go start a business in Russia! The tax is low enough to where you can comfortably pay your mafia protection money!
It's because the American Programmer (TM) is either:
a) too busy working his regular job and his moonlighting job
or
b) too busy training his Indian Offshore Replacement (TM)
"Only four of the 48 best computer programmers in the world are Americans"
o m home run derby.
Of course! And only four of the 48 best baseball players are Americans, because that's all that entered the corporationpretendingtobetheauthorityonbaseball.c
Polish and Russian ar stupid and they cheat, i think that we have the best programners
>I know that this type of polynomial has certain properties such as a real root and smoothness ...
>"Let f' be the derivative of f.", and f' will be another polynomial (of even degree) and it exists because f is smooth.
Good luck finding a polynomial that isn't smooth. Or did you know there's a theorem out there that allows you to differentiate an arbitrary(!) polynomial?
my password really is 'stinkypants'
figuring out optimal ways to search, sort, navigate fully connected networks
Well, I'm kind of surprised that you would call them "networks" when the usual CS term is "graph" - and I don't see why "fully connected" is an important distinction - but I think you'd be surprised by the type of problem TopCoder actually involves.
Graph theory is central to probably 30-40% of the hard TopCoder problems. For example, this last round (SRM 301) involved a simple Floyd-Warshall on a graph. That was the medium problem. The hard problem, "ContextFreeGrammar", was a lot more interesting (and I certainly didn't submit anything on it). The writeup mentions "chomsky normal forms" - I'll look into that later.
But graph theory is hardly the end of computer science. A simple recursion problem like "Towers of Hanoi" isn't much of a challenge, but it's got some interesting ideas. And actually if you change it to 50 towers and 100000 disks it's an interesting optimization problem. Moving out a bit, there's a lot of interesting CS concepts that you explore in TopCoder - everything from the basic pattern of Dyanamic Programming, to compression and encoding, to game theory, to computer geometry, or to stuff like gradient analysis.
That's all valid CS material, and I've learned lots about all those concepts from competing in TopCoder. Many of these subjects are glanced over in University, whereas in TopCoder the pressure of using that knowledge quickly tends to pack the ideas into your mind pretty well.
Let's not stir that bag of worms...
Modern maths are not about numbers. You're thinking about algebra there. Of course algebra is easier than programming.
In fact, what they teached me as maths when studing software engineering is very different to what they teached me when studing pure mathematics. In software engineering they teached me some pen and paper algorithms for doing some calculations. I met a lot of nice girls who couln't understand programming but were otherwise very good in calculus, so in general, yes, programming seems to be harder than maths.
But modern maths are very different to what they first teached me.
Modern Maths are about abstract things you define arbitrarily in terms of the relations between them. If you change a little of the definition you have something entirely different. Then you explore what those relationships can do inside a formal system. Sometimes you get completely unexpected results and unexpected relationships with other theories. Even if you use computers to automatize the most tedious part of a proof there is still a lot of work to do.
In programming you have very powerful tools that make most complex tasks easier. You don't need a parser in your head because compilers will tell you all syntactic errors. You don't need to guess about complexity that much, a profiler will tell you the botlenecks.
And you can be very formal in computer science.
I stand in my assertion than someone who knows maths can easily learn to program, but that someone who can only program can hardly understand more advanced mathematical concepts. More difficult if they a very dependant on a particular tool.
Just look at the names of Turing, von Newman, Knuth, I probably missed most people, all mathematicians, and all of them made something significative for computer science.
Now is your turn, name someone who does a lot of programming and has no mathematical knowledge doing something really significative for computer science. "Web 2.0" reimplementations of 30+ years old concepts are not significative contributions.
We are Turing O-Machines. The Oracle is out there.
Having a computer at home may be as much of a detriment to some as not having one. Children growing up with them may take them for granted and not explore the many uses and possibilites. When I first went to college I did not have a computer of my own. I used to walk 2 miles to the university to use terminals in a lab. Later I got my own computer and used it, abused it, broke it, and fixed it many times over. I wouldn't trade that experience for anything.
Even though I didn't grow up with one, I had a desire to learn and did. Children need the basics like reading, writing, and simple math. Once you have these skills, the learning curve for computers is not so bad. Knowing computers for the sake of computers may be okay for some. Actually understanding some problem domain(s) outside of the computer realm and applying computers to solve actual problems and to do repetitive tasks is better.
In my opinion, a person interested in computers, even later in life, will learn more than a person who just grew up with one in the house. Knowing how to surf the web and download stuff does not make one "computer literate".
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Bullshit. The only times capitalism works is when it is controlled by sufficient regulation to prevent corruption by the rich.
Mild socialism works better than capitalism. The only reason that full communism doesn't work is that it is quickly corrupted and manipulated by the same small fraction of people who are busy getting rich at the expense of others in countries like the USA.
Get rid of that libertarian/Randroid group of asshole CEOs, politicians and nouveau riche and you'll find that the society will automatically gravitate towards socialism and true progress.
Well, I can only speak from my experience. And I may have been a bit over caffinated this morning. I literally can say I never had a hard class in college. But then, I never took engineering or anything. I mean Management and Information Systems are not really the stuff of legend.
you can't ack before you balls.. you just
So... I'm waiting for someone to replace Microsoft. Sounds like other places in the world are in a better position to do this... but they just never seem to get around to it. I keep hearing how the rest of the world is so much better educated than students in the United States. When will they make their move? The elite spend much of their time being the master debaters that they are. The world is run by the "C" students. So... set back with a beer and a HD TV and enjoy the view, no one gets out alive... Props to Poland for breaking the enigma machine in WWII first!
Loosing one's temper by posting on slashdot, not losing one's temper *then* loosing, by some action, externally...
/. is really all about, now is it?
pot/black
keeping to any particular point isn't what
Maybe it's because no one has heard of this bloody contest??
Did you ever notice that *nix doesn't even cover Linux?
You start off by saying that what I said was not math, but algebra.
For about most of of humans on this planet, that's all math is. We're very much in the minority. To "normal" people, math and computer programming are very different, much like physics is very different or logic is very different (even though all these things only differ in degree).
I also said that logic, since it expands and describes more in a rational system than pure maths (although the definition of mathematics is also expanding to include many things done in logic), I'd say that logic in all its forms (including programming systems) are a superset of mathematics. You can do more in a formal logical system than you can do in a pure math system -- a Turing machine does more than a push-down automata. "Modern" math is just expanding into areas that were explored by thinkers as far back as Leibniz, who formulated constructs not unlike Turing machines.
What is important is the perspective. Mathematicians are taught in a way different from computer scientists, and thus they see solutions to problems in different ways (there are thousands of mathematician/physics/engineer jokes I can put in here, you get the idea). Computer scientists solve problems of thought, while mathematicians solve problems of relationships. But the thoughts will contain (naturally) thousands of relationships described (implicitly or explicitly) along the way towards the computation of a solution. Computer science is the superset of math the same way my toolbox is the superset of my wrench. Mathematicians tend to see the world as a set of bolts, while computer scientists are free to apply solutions from other logical disciplines.
"Now is your turn, name someone who does a lot of programming and has no mathematical knowledge doing something really significative for computer science. "Web 2.0" reimplementations of 30+ years old concepts are not significative contributions."
There are 2 kinds of people; those that understand things in the larger picture perspective, and can create or discover new ideas. These are people who will, naturally, have some understanding of mathematics. Alternatively, there are those that are like myna birds -- excellent at repeating what they have been told. Much like a pocket calculator is great at adding and dividing, a programmer without math is only good at repeating what is trivial to people who know the bigger picture.
It's impossible for a pocket calculator to discover new things; you ask the impossible. Try to understand why I believe math is a subset, and explain where I have a flaw rather than get distracted with trivia.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
That's because this bass-ackwards country is more interested in giving American Idol winners taxpayer-funded road signs on the side of Interstate 40 (no, I'm not frigging kidding) than in showering the country's best engineers and theoreticians with accolades.
US academics are too busy doing real research to care about this bullshit. All the top foreign academics come to America for their PhDs anyways. As long as America keeps funding research, there shouldn't be a problem in academia.
This is because we have been focusing on our people skills. That is what we need to do to avoid being offshored. Raw brains are cheaper to hire overseas. Why not a people-skills contest for programmers? Kinda like a decatholon where you do different things, include trying to brown-nose between coding.
Table-ized A.I.
The thing that most seems to separate programming contest problems from real world problems is the "dirtiness" of real-world (rw) problems. Most abstractions one finds in rw often fall victim to the 80/20 rule, where 80% of instances fit the abstraction, but 20 percent don't. Most of the fiddle-faddle is dealing with the 20%.
Languages and techniques that make for snap-together abstractions needed for contests may not necessarily be the best to deal with the rw deviations from the abstractions, ie the "messy parts".
This seems to be because programming contests have to make the problem statements relatively short. If's, and's, and but's make for hard to read, hard to write, and hard to varify programming contest problems. Thus, programming contest problems are too "clean" to reflect real-world problems.
Table-ized A.I.
I agree that the standards in general are lower in North America, from my experience as an immigrant.
Anecdotal evidence it may be, but I'm far from the only one who experienced this. Immigrating as a child to Canada from Asia (large city to large city), I was inserted into a third grade class. The educational standards seemed absurdly low to me.
In math, the Canadian 3rd Graders were just learning to multiply 1-digit numbers by 2-digit numbers, whereas I had already learned long division (3-digit divident, 2-digit divisor) in 2nd Grade. English class was not as easy, but still not too bad, even though I had only learned English as a second language in Asia. In general, I did well in school, and back in Hong Kong I had been labeled a problem student.
As the date of the reversion of Hong Kong to Chinese rule approached, a wave of Hong Kongers inundated Canada, and basically they were all shocked at the dramatically lower education standards on this side of the Pacific.
In the beginning, I even got in trouble with my parents for not doing my homework after school. They just wouldn't believe me when I told them that the school hadn't assigned any homework, and that there was part of the school day when they actually didn't teach anything and we just sat and did schoolwork that I would have expected to be done at home. (Incidentally, I also almost got in trouble when my parents found a grammatical error in the teacher's comments in my schoolwork and wondered whether I had forged the comment because it was unheard of for a teacher to make a grammatical mistake.) Gradually, my parents learned to accept that the school system really was that bad in Canada, and got me some high school level textbooks and taught me after school.
This is a great set-up to brag about what a smart geek I am, but fact is, I don't think I was really *that* much smarter than the average kid. I think that there's a lot of potential in the school kids that we could harness just by setting higher standards. Parents of today worry about their kids hanging out with the riff-raff after school, or just sitting at home with the Nintendo, so they end up signing them up for hockey practice or Boy Scouts or even supplemental tutoring like Kumon. Meanwhile, the kids of the have-nots languish in school, hang out at the mall and spray paint the alleyways. If we can get a solid dose of homework to be accepted as the norm, not just by the school staff but to parents and society in general, and if we can demand substantial and substantive learning rather than merely an adequate ranking in the scores of Standardized Testing of Ability to Fill In Computer Scan Cards, there is so much more that our society would be able to achieve!
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
I competed in the last ACM programming contest (not the finals, but the regionals). It's really not any indication of a decline in US schooling - it's just that we (Americans) didn't take it seriously. I went out and got hammered the night before, and went to the contest with a hangover at 9am. That said, we still placed something like 5th at our site.
Some schools treat the ACM programming contest like it's a sports league - they are even having regular practices. If you've looked at enough problems, you'll see that there are really only a few varieties.
I think Americans (or at least some) have better things to work on while they're in school, like research problems or work in the field.
I think that any decent CompSci program would cover the things you mentioned for precisely the reasons you gave. My Algorithms book is 800 pages thick. We learned how to do analysis. All this as an undergrad. Maybe I just got lucky and my local state college had a kick-ass program?
I see your point, I suppose we just differ as a matter of degree.
Blar.