No US College In Top 10 For ACM International Programming Contest 2013
michaelmalak writes "The annual ACM International Collegiate Programming Contest finished up last week for 2013, but for the first time since its inception in the 1970s, no U.S. college placed in the top 10. Through 1989, a U.S. college won first place every year, but there hasn't been one in first place since 1997. The U.S. college that has won most frequently throughout the contest's history, Stanford, hasn't won since 1991. The 2013 top 10 consists entirely of colleges from Eastern Europe, East Asia, and India."
Can someone draw us a diagram that explains the submission?
. . . we're still number one in obesity, right?
. . . and . . . how come I never get those programmers when my company outsources . . . ?
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
So what? I don't see any of those schools being real power houses of innovation either.
This programming contests have nothing to do with real world programming or the skills need for most CS fields. Certainly, these are fun algorithmic challenges, but the timed nature of these contests encourage quick and dirty solutions that have no place in the real world. Creating new algorithms and other kinds of CS research requires a lot of attention to performance, scalability and correctness that aren't tested by these contests.
Okay, maybe those High Performance Trading guys want crazy quick complex code that nobody can understand, but that's kind of the problem, is it not?
Cause or effect?
Questions raise, answers kill. Raise questions to stay alive.
Agreed, it really is a shame that they dropped Fortran and Pascal.
What??!??
Questions raise, answers kill. Raise questions to stay alive.
College might be considered a waste of time by the best programmers.
Another possibility is that the very clever are washing out of school before they even get to college. I once saw a study that suggested (not proved) that something like 20% of high school dropouts in the USA might be gifted.
In my experience most of the attention in public school goes to those that are ultimately ineducable. Gifted students are just expected to be fine without help. If they dropout, though, they're less likely to be programmers at a university.
Why is it that whenever another country beats the US in anything that is perceived as good, their achievement is somehow not relevant or "they had it easy" or som slashbot has an funny anecdote that he thinks disproves the whole claim?
Why is it that whenever another country beats the US in any metric that is perceived to be bad it's because they're socialists, "had it coming" or some slashbot has a funny anecdote that totally validates the claim?
And why is it that every time this type of bullshit assumption of american exceptionalism is called out, it's always "america bashing" or some such trope instead of an argument on the merits of the claim?
I once saw a study that suggested (not proved) that something like 20% of high school dropouts in the USA might be gifted
I would have thought it was closer to 80%. You have to be pretty smart to see the writing on the wall as a teenager.
The article misses a few key points. A US team won every year until 1989 because it wasn't really accessible outside North America until after then. When the New Zealand team won in 1990 (the first winners outside the US), they had to compete in the California regional, IIRC, despite living on the other side of the world. It only really properly expanded internationally after IBM first sponsored it in 1997 - probably not coincidentally, the last time a US team won. It's also important to note that certain countries (such as Russia and China) take this competition VERY seriously, training people for years exclusively for this competition, so it's not surprising that they dominate it. Trying to read anything into trends in the 'winning' countries is fairly pointless.
-A former world finalist
The programming contest is partly skill, but mostly rote memorization and practice, and if you get the problem set ahead of time or even just a tip on some algorithm to study (there are tons of potentially useful formula to memorize) then you have an enormous leg up on the competition. The countries that have excelled at the programming contest recently are ones that stress rote memorization and that have, by Western standards, rampant cheating.
Coincidence? Maybe, but I see a cheating scandal in ACM's future.
When my team placed 2nd in our region they actually added test data after the contest to invalidate one of our programs, moving us to 3rd place (we learned that the judges constructed new test data specifically to fail our program). They did this because my college placed 1st and 2nd in the region and the rules at the time sent the fist and second team to international, but only one team per college, so our region was only going to have one team. This was a long time ago, but I wouldn't be surprised to find out they have the same kind of "professionalism" today.
Maybe that's what happens when you start teaching Python as an introductory language instead of Scheme?
Also worth noting that you can study and practice for these competitions, there are books explaining good training routines. So it's very possible those countries just practiced harder for the contests.
"First they came for the slanderers and i said nothing."
So it's very possible those countries just practiced harder for the contests
Quite true. Another possibility is that 'those countries' won fairly.
Quite true. Another possibility is that 'those countries' won fairly.
I'm going to assume by "won fairly" you mean, "won because their universities are better than ours." Because I consider winning by practicing harder to be fair.
That's what the article seems to be worried about, are the CS programs in those countries better? As if I have any idea.
"First they came for the slanderers and i said nothing."
There is just one Indian college in that list at position 60. Indian universities are equiped to mass manufacture programmers for IT industry, not for creating star programmers.
Or better, it _is_ already lazy. I have done some competitive programming while studying, but it was a small group of students in a special elective course and only 6-7students in it. I already was a PhD student at that time and not taking the course, but I knew the professor doing it and he had told me that he was setting this up and also participating himself. Ended up being 1st until the professor and another student started "cheating" by using inline-assembler ;-)
Still, even in this specialized, elective course, only half of the student put any real effort into it. That is not good. Programming is something you need to be able to do reasonably well if you do anything advanced in IT, or you will never be any good at it. Historically, the west did protect its economic advantage by having better infrastructure, machinery and materials, but that is over. Any bright person with at least slow Internet access, reasonable English language skills and an older computer with Linux or one of the xBSDs on it can compete now on a world-class level, geography has become pretty meaningless. Or rather, being in the west is a disadvantage due to a pervasive sense of entitlement. Personally, I think this is a good thing. Competing on merit only is the only working way to identify talented people.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I don't think this is a matter of lazy or stupid. There are smart people all over the world. Finding them is the problem. Also, the US thrives because of smart people, so why not give incentive to the special ones to come over?
That's what the article seems to be worried about
Damn! You got me.
CS student that cannot program in C/C++ probably cannot efficiently use other languages as well.
Coding etudes
Which of the Indian teams are represented? I see one at 60th...
Irrelevant. What's relevant: if there's little need in the US (or any other country) economy for software people, it is likely there will be no winners from US in the ACM competition (or winning will happen only as an exception rather than the norm).
In a sociological context, one needs quantity to develop quality consistently over time (that is: it is highly likely the talents need nurturing by an existing culture in their field for them to reach their full potential; and this requires quantity).
Note that quantity alone is not sufficient for the quality to emerge - if in need for another example, you only need to look at the today's music
Questions raise, answers kill. Raise questions to stay alive.
If you're really that thin-skinned, you should get off the Internet
That works both ways, and since you're the one who started the whine thread, this will apply to you specifically, in this context. It's much easier to have a discussion when you preemptively rule out everyone who does not agree with you, but that doesn't add any value now does it?
But since you decided to start a thread, specifically to ask questions framed with sweeping statements about the mindset of everyone on Slashdot (we're nearing the 3 million UID mark), you are in fact trolling. A proper solution would have been to offer counter arguments to those individual posts that you seem to take offense to. For now, you're just a bigot calling everyone else a bigot. Big whoop - that has never been seen before.
... whatever
Well, yes, but Eastern Europe, East Asia, and India don't have the benefits of our television telling them they suck at games.
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
It's possibly related to the results. Many of the top-tier universities use less industry-friendly languages for teaching undergraduates. At Cambridge we do a lot of ocaml, at MIT they use Scheme (and, apparently, Python), at a number of others they use Haskell. There are several reasons for doing this. The first is that teaching a less common language means that you don't start the course with half the students thinking that they already know the material. The second is that teaching a relatively simple yet expressive language teaches students to think about algorithms first and then about microoptimisation later when they learn their third or forth language.
In many other universities, there has been the growing trend to believe that the language that you should teach with is one that you would use to solve real-world problems. I believe that this is a mistake, because the requirements for a language for teaching and for creating maintainable large-scale applications are nowhere near the same. This would mean, however, that students from universities with this belief would have an advantage in these contests as they'd be using a language that they'd had a few years more practice with.
Looking at the results, however, I suspect that there's also a lot of apathy involved. MIT and Stanford are there, but they tend to encourage a very competitive atmosphere. Several universities that I'd expect to produce students that would do well appear not to have entered at all. Given the wide range of extra curricular activities available to students these days, I wouldn't be surprised if entering a competition is somewhere down the list.
I am TheRaven on Soylent News
Why do people hate on the US you could ask?
Its an interesting (but off-topic) question. But if people are hating you, there is usually a reason. Think about it.
And why teaching functional languages is an advantage? I actually see it as an academia's disconnect with real life. They could have been very well teaching liberal arts.
Coding etudes
A contest that is limited to only C/C++ and Java is a disgrace to humanity. No skillful CS student would go to such a thing. This is completely ridiculous. Either pen and paper, or allow languages that are not among the very worst languages of the planet.
These contests are writing about highly efficient programs performance and memory-wise and C/C++ are very adequate for such algorithm competitions. Any inefficient step performance or memory wise will be punished by failing tests and losing points. C/C++ has been one of the classical programming languages always used in algorithm contests. And what the fuck do you mean by "worst languages on the planet". You do not implement performance critical algorithms and data structures in Python or Ruby, this the correct job for C/C++ programming languages.
I'll assume that you take issue with my original questions and perceive the assumptions they make to be incorrect then.
No. I'm calling you out on your use of derogatory statements to bemoan the quality of discussions, specifically the parts that employ derogatory statements, or stereotypes if you will. That is bigotry. I'm not disagreeing with you on the point you so hamfistedly tried to make, but your implementation of it.
Maybe it is to jingoistic "patriots" like yourself.
Fuck you, you simple minded, filthy slut. There, balance restored.
... whatever
Bah! If you're not coding in binary assembler, you're just coloring by numbers. /s
It's "fascinating" that St Pete schools make the top 5 twice. No team from England, France, Germany, or India? Hmmm...
University of Central Florida ranked 48, that's gotta hurt anyone outside of China, the former USSR, and whatever other teams didn't just say "hey I know some C, WTF!"
I did a double-take, since "St Pete" to me, means Tampa Bay, and these institutions are both in the OTHER (Russian) "St Pete", it appears.
I had a short, if enjoyable time at UCF and attended one of their ACM contest planning meetings back when they were serious contenders. They approached it with all the determination of the Invasion of Normandy.
I don't have much use for programming contests, myself, since practical programming isn't something that easily adapts to such short time frames, but it's still pretty sad that there are no US top 10 contenders.
ntr
So in a way the requirement of Java (or C++) favors bad universities.
So people in CS program at an elite university can't program in Java? You win the idiot card.
I object to power without constructive purpose. --Spock
You got voted down because you are posting AC and you implied that people who are worthy of your grace can't program in Java or C++. Wierd.
I object to power without constructive purpose. --Spock
intercal
The second is that teaching a relatively simple yet expressive language teaches students to think about algorithms first and then about microoptimisation later when they learn their third or forth language.
This make a lot of sense.
there has been the growing trend to believe that the language that you should teach with is one that you would use to solve real-world problems.
A fundamental misunderstanding by the non-technical administration and dinosaur faculty. As has been stated before, this is not computer science. I wish the state education boards would place requirements (algorithm and mathematical requirements) on calling programs computer science. We have a CSCI program that teaches Excel, and graphic design (zero algorithms and only basic algebra required). The programming courses do get into structures and sorting a little bit, but the last one I took left off linked lists! (didn't have time)
I object to power without constructive purpose. --Spock
This post is so much irony... they are number 11.
A fundamental misunderstanding by the non-technical administration and dinosaur faculty. As has been stated before, this is not computer science. I wish the state education boards would place requirements (algorithm and mathematical requirements) on calling programs computer science. We have a CSCI program that teaches Excel, and graphic design (zero algorithms and only basic algebra required). The programming courses do get into structures and sorting a little bit, but the last one I took left off linked lists! (didn't have time)
OTOH, it was within the last year that there was a /. article about major universities wanting to drop all of the math requirements from computer science degrees because it would encourage more people to enter the field. If you view a college as a business, the student as the consumer and the curriculum as the product, you may understand why today's computer science degrees have been so watered down. The CS department, like every other department is evaluated by how many seats they fill, at least on an undergrad level.
can I humbly add to french description : Brain specialists (perhaps due to research about inhibition of action on primates) For those who have the chance to understand french (?) : http://www.dailymotion.com/video/xpjec4_tv-lobotomie-la-verite-scientifique-sur-les-effets-de-la-television-conference-michel-desmurget-fsl5_news [dailymotion.com] in short : Television hurts brain and makes people unable to think. At best. SAT test plunging is synched to television adoption in US (31:53). 20:22 : the effect of television on child brain in one drawing ...
The problem is mostly one of marketing. If you're a top tier university, students will trust that teaching you Scheme or whatever is sensible because you've got a good reputation. If you're a second tier university, then students (and parents) have heard of Java and C# and know that industry likes them, and if one university uses them as a teaching language but you don't, then it's hard to convince them that it really does make sense. And your reputation is dependent on how well your former students do, which depends on the quality of your intake.
I am TheRaven on Soylent News
Interesting that all of the places that seem to be at the top of this competition are places that the US has been outsourcing programming to for the last decade or two. When there are lots of (relatively well-paying) jobs available in an industry, more people want to get into that industry. And when more people want to get into an industry (that is pretty specialized and having an education is almost a pre-requisite), they go to school to ensure that they can get into that industry. And when more people go to school, you tend to get more good students. And when you have more good students, you tend to do well in these kinds of competitions.
The corollary to that is that when you don't have jobs (because you're sending them all to countries with a cheaper cost of labor), then you don't have people who want to get into the industry. And when you don't have people who want to get into the industry, they don't go to school for that specialization. And when you have fewer people going to school, you have fewer good students, which means that you don't do as well in those competitions anymore. And that leads to a lot of wailing and gnashing of teeth about "How can we get young people interested in working in our industry?"
In my experience most of the attention in public school goes to those that are ultimately ineducable.
Define "ineducable".
Gifted students are just expected to be fine without help.
As they should be. If you're bright enough you should be able to learn it by yourself. If you can't, then you're not as clever as you think. Genuinely gifted students, or even just the "pretty bright" (top few percentile) should be cheap to educate. There's the library, it includes computers and Internet access if your family can't afford them, they'll be an exam on the following material next Thursday. Attend the lectures if you want.
Irrelevant. What's relevant: if there's little need in the US (or any other country) economy for software people, it is likely there will be no winners from US in the ACM competition (or winning will happen only as an exception rather than the norm).
And yet the fact is the US has a huge appetite for software people. I know a bunch of ACM ICPC world finalists (like around 20), and at least half of them at one point in their lives ended up in the Bay Area working on software for some large tech company (yes, on H1Bs).
You can flame all you want about them "taking your jobs", but the fact is that there's a truly felt shortage of actually good programmers in the US. And it's not felt as strongly in other parts of the world, or at least that is my anecdotal experience.
Don't quote me on this.
The 4 smartest programmers I ever worked with were all high school/college dropouts.
Peter predicted that you would "deliberately forget" creation 2000 years ago...
Sponsored by a local company (probably recruiting) and not officially ACM-sanctioned. These are the kinds of competitions where if you practice you'll do much better at them. Our college had just rebooted their ACM club and I got the distinct feeling that had we been dedicated for years a team could place very high. We were around the 80% percentile or so and still burned 1/2 our time figuring out the logistics (physical space and PC access was limited). On top of that, we had a couple questions worked out, just formatting errors (silly stuff like one too many CRLFs) that the automated graded rejected.
I'm not slamming these results since I think the project winners are probably very good programmers over all, but I bet a schools that focus and compete every year are at a distinct advantage. I've seen these pattern repeated in other areas like spelling bees.
I swear to God...I swear to God! That is NOT how you treat your human!
Proper CS students wouldn't touch code with a rented bargepole. See also: Djikstra, telescopes.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I won more than my share of programming contests when I was in high school. It has less to do with the quality of the school than the caliber of the student. The skills follow the students, not the professors. If they don't get a pool of skilled freshmen every year, there's nothing the school can do to get them to the caliber they need to win these things. I was programming in BASIC from about age 8, making my own programs on my VIC-20, because I didn't get all the cool games of the C-64. By age 12, I was reading the program templates in magazines and changing them to make them harder or easier, or whatever. That level of availability and interest is what drives competitive programmers. Doing relatively small complete programs 1000 times before their first competition. I didn't like CS or programming at a college level. I didn't want to be programming 8 hours a day on some module that was part of someone else's spaghetti code. Instead, I ended up being top IT guy (technically, not managerially) at a string of companies, and liked that much better than what I've seen of programmers. But as an 8-14 year old, you aren't thinking to that time frame.
Learn to love Alaska
That's a huge difference. Programmers can program in C/C++, but of course would never do that if C/C++ is not the best tool to solve the problem at hand. You realize that a lot of universities teach functional first? Carnegie mellon adopted functional first in 2011 (don't know about right now).
Lots of universities teaching functional programming first =/= most of the top universities.
This inequality should be obvious to you if you were as brilliant as your words tend to imply you think you are. Whether you like it or not, top shit is written by top developers in C, C++ and Java, not Haskel or Lisp.
My university did that in 2006 with haskell.
So did you graduate recently (ergo talking with little experience) or are you just cheerleading?
So in a way the requirement of (C/C++) favors bad universities.
Non sequitur. Just because you say "in a way" so, that does not make it so. This statement of yours does not follow logically from anything you have said so far. Major failzx0r for a supposedly Computer Scientist IMO.
Let's say the requirement was you have to develop in Visual Basic on a windows machine in visual studio. Then, out of principle, a lot of students won't go.
That might be a "principle", but that does not make it a logical one. A programming language is a programming language. Good programmers can make shit sing with any programming language. Arrogant dilettantes hide their deficiencies behind principles. Besides, there is nothing inherently wrong with Visual Basic (or any of the modern BASIC incarnations.) They were never meant to be the most elegant of things, but tools to get things done.
That people write bad code with it is not truly a function of the language/system. After all, and as I've said, good programmer will code good shit with any language. Bad programmers will exhibit some limited competence in an idiot savant way with one technology while being completely inept with all others.
The same is true with the stupid C/C++ requirement.
Oh grow the hell up dude. Real world, complex systems developed by very intelligent people gets written all the time in C, C++ and Java. Combat, missile and aeronautic systems? Mostly C or C++ (some Ada here and there.) Critical systems like nuclear monitoring stuff or medical devices? Mostly C. Large, fault tolerant, highly available distributed systems? Java (and to a much lesser degree, Erlang).
Don't get me wrong, I enjoy functional programming languages (in particular Haskel and Common Lisp). But if we are going to be pedantic about the qualities of a language, let's get hung on the actual, large scale, uber-complex, real world successes of each. If we are going to be pedantic, let us be with some substance behind it.
I mean John Backus told the world in 1972 that imperative programming might not be the best idea, and people still don't get it in 2013.
Yeah Backus said it, but he never formulated a concrete solution. In reality, is there a significant need for one? From an academic POV, I would love to see one? From a practical POV, at this time, the world does not desperately need one.
That was 42 years ago!
So what? Dijkstra also said eons ago that GOTO was inherently evil. That was a proper response back then to people who resisted the idea of structured programming, and in particular resisted the implications of Böhm-Jacopini's Structured Program Theory.
But as that principle has become well established, the unrestricted demonization of the GOTO statement yielded some pretty stupid coding guidelines (thou shall not have more than one return.) Pretty stupid as there are cases where a GOTO statement is the right thing to do. Ergo why Donald Knuth and many others had a more relaxed, pragmatic view on the subject.
By
You're high school programming contests weren't nearly the difficulty of an ACM programming contest, sorry.
"First they came for the slanderers and i said nothing."
I just looked up an example. It was noticably easier than a number I had seen in high school.
But thanks for presenting your incorrect opinion as fact. Reminds me I'm on Slashdot, where people think their ignorant opinions trump reality.
Learn to love Alaska
An example, eh?
"First they came for the slanderers and i said nothing."
An example, as in an actual question from a previous year (2009):
http://stackoverflow.com/questions/1842587/can-you-answer-this-2009-acm-international-collegiate-programming-contest-finals
What an actual question from a few years ago doesn't count as a valid example? Whassa matta, proven wrong too often today? I don't have an example from the competitions from 20+ years ago to compare against, so I'm sure you'll invent whatever you want as an excuse for why I'm wrong and you are right. But I was there. I remember them. And I found an actual ACM question for comparison. But an eye witness isn't good enough when it contradicts your uninformed and biased opinion. Right? Again, your personal opinion will trump reality. As I said, standard fare. But it's always fun to play with the deluded.
Learn to love Alaska
I'm not sure why you think that problem is easy......you can't use the brute force solution, the running time will be too high.
"First they came for the slanderers and i said nothing."
I never said it was easy. You need to read what you are responding to before you complain. But then again, I've been joking about you being the standard Slashdot whiner, so that would be right in line. Answer for what you think they meant, even if not supported by what they actually say.
Learn to love Alaska
I seriously doubt you were doing dynamic programming in high school. If you were, props to you bro
"First they came for the slanderers and i said nothing."
Go look up the #1 public high school in the USA. Depending on the year in the results you find, that's where I went. You assume dynamic programming is required for a solution. Though the CS teacher there was big on recursion, so I'm sure some recursive solution would have presented itself. Not sure if you'd consider that dynamic programming.
Learn to love Alaska
You assume dynamic programming is required for a solution. Though the CS teacher there was big on recursion, so I'm sure some recursive solution would have presented itself.
The problem is not recursion, although that might make it easier to write; it's great you learned that in high school since most CS majors don't learn that until their second semester; the problem is that if any sort of straightforward approach is used (like the solutions shown on stackoverflow), the algorithm will end up solving the same subproblems repeatedly, and the number of subproblems will grow factorially as the input size increases. So you need some way to keep track of which sub-problems you've already solved. Dynamic programming is one way of doing that. The most common ecample of dynamic programming is to find the Longest Common Subsequence between two strings, like when you are doing a diff.
"First they came for the slanderers and i said nothing."
In the eighties, software was a big challenge for me. In the early nineties as well, as I had to master multiprocessor systems available for the "masses" -- Intel and RISC machines instead of big Mainframes, to support Internet transaction systems. Nowadays, big challenges are elsewhere, that's why bright minds in the US are looking elsewhere. Software is just another tool, something you can outsource to occupy your bright mind with real challenges. It's boring to solve a problem a lot of people can solve. In US, there are bigger challenges to tackle at universities -- a rich, challenging environment. In poorer environments, bright people have less choices. US people are not less smart than they were in the eighties and nineties -- their interests changed, that's all. For the record, I'm Brazilian.
I was studying object oriented programming in 1991 in BASIC. The funny thing about the sample given is that the result was determined by methods that are itteritive, simple, and stupid. Often in the programming competitions, the data sets would be similarly limited, so the solution would be unrelated to the problem being solved. The "answer" is [LARGEST(bi)-SMALLEST(ai)]/(n-1) for all sample data. Yes, the entire "complex" problem is solved for all test data in a single simple statement. There are just a couple minutes for writing LARGEST and SMALLEST (optional, as all data contains one zero), and the bulk of the code will be I/O. No answer could be better, and the question was about optimum. If it was "hard" it would have you number the aircraft in the order they are in the dataset, and output the aircraft number and landing time after the answer. But as written, you can generate an "optimum" case in under a minute, and then write another section to catch the "edge" cases where the data doesn't allow fitting to the best case.
Not elegant, not easily modfied, doesn't work for all datasets, hard to have someone else understand it (we once had a problem rejected until the programmer got up at a whiteboard and explained it to the judges - yes, you can have a GOTO in basic that GOTOs itself, within a single-line multi-statement for loop - that's what happens when you solve it in your head in PASCAL or FORTRAN and have to code it in BASIC). But those are the types of solutions that would come out in these contests. Rarely was the code anything approaching "good" and they were algorithm tests, where most of the work was re-stating the problem in a different manner.
Learn to love Alaska
You can't do what I do in Haskell.
And I'd argue that a good programmer can program well in almost any language. I'd probably have to exclude brainfuck.
Perhaps *you* can't program well in Java.
Your solution fails for the case of:
3
0 10
10 15
1000 1010
Yours will print out 505, but the answer is 15
"First they came for the slanderers and i said nothing."
Correct, but that wasn't in the dataset. The "solution" given on that page had every comment giving another dataset that didn't work. Part of the contests is that you must get the correct answer for all the data, but the data is given, so accounting for edge cases not in the data will cause you to lose.
That and I was deliberately giving a "correct" answer that takes 10 seconds and obviously isn't exhaustive because I thought it funny. The "real" solution I would have come up with would likely have worked for more cases.
Learn to love Alaska
You don't understand the contest. The data given is the sample data. The true dataset is kept by the judges and is much, much larger
"First they came for the slanderers and i said nothing."
How many programming contests have you been in? How many wins? You seem to keep lecturing me about contests you have no knowledge of. I bet you are the type to argue with doctors "But I read about something like this on the Internet."
Most of the contests I've been in, you had to data-enter your own data (type in the "official" data from the printed sheets) for testing, and a few would provide sample data in a file. I'm almost all cases, the sample data was the contest data. The actual run files would be secure, to prevent manipulation of the data (for the ones run by judges, many would just take printouts of all source files involved, and outputs). But you'd "test" against the live data.
Learn to love Alaska
This is the ACM programming contest, it's not like it's some secret, random contest. They have them every year, the rules aren't secret. I participated in 8 of them, if you must know.
"First they came for the slanderers and i said nothing."
I run a University Program for a US company that specializes in multicore processors (Cavium). We have SW engineers in India like everyone else, but also two large teams in the US, including the previous DEC team of computer architects in Boston. I conduct an annual multicore programming contest; last year's winners were from Pakistan, which might support the theme of this commentary, but we are seeing strongest interest this year from US. Most likely this is due to our recent US outreach - we have been on campus at MIT, CMU, Cornell, Harvard, UW, Stanford, UT, UWash, ...since January. I also work with the IEEE on multicore programming curricula for ongoing education, and we see strong interest there too . My point is the passion and need is here in the US, but it needs to be better supported and understood. By the way, our contest is open to any undergrad in any major in any country, and some profs are considering it for a 1 credit project this Fall. Previous experience in C/C++ or architecture is NOT required. We provide examples, online seminars, sample code, etc. to get rolling http://tinyurl.com/oy75hdd
Not really a fair comparison. ACM top 10 isn't the be-all and end-all of a nation's educational system, but the population of the countries you list don't even add up to that of the USA.
Population USA: 313.9 million
Population Germany: 81.8 million
Population Canada: 34.48 million
Population Australia: 22.32 million
Population New Zealand: 4.405 million
Population of California: 38.04 million
Population of New York City: 8.245 million
Well, if you want to market classes in Scheme, just mention that all the top-teir universities are doing the same thing.