Sunday, July 14, 2013

What Is It With US Students and Programming Contests?

I saw this recently on SlashDot - No US College In Top 10 For ACM International Programming Contest 2013 Now the ACM International Programming Contest is sort of a big deal. In the first fifteen or so years US teams won first place every year. Since 1997 though a US team has not taken first place. In Microsoft’s IC LogoImagine Cup competitions there is no US winner in any of the 15 or so categories this year. In fact US results in programming and software development competitions have been pretty poor (one might say embarrassing) for a while. One has to ask why?

I don’t think it is because they US doesn’t have students who can compete. I think we do. I think many of the best and brightest choose not to compete. Why? Well I don’t think they see enough value in the competitions to take time from other things that they value more. If you are a top student in a top US university you probably already think your value is obvious. And realistically it is. Top companies (Google, Facebook, Microsoft, etc.) are recruiting on your campus. You are already doing enough to get their attention.  On the other hand if you are in a university in a small eastern European or Asian country that no one has heard of outside the area an an international contest victory may be just the edge you need to get noticed.

You may also already be working on your startup. You’re in the US, probably in a hub of startups, and money and resources are there if you can convince people they should invest. You don’t necessarily need a contest victory to prove that. If you are in a country, even and advanced country, where starting a business is difficult and raising start up capital is rare  for students you may again want the attention (and prize money) from a competition to help you get your start.

I think it is a shame though that more US students don’t compete. Call it nationalistic pride if you will but I’d really like to see more US students get this sort of recognition. It just makes us look bad when we don’t have winners in these events. Are they important in the great scheme of things? Maybe not. On the other hand perception is a huge influence on reality. If American students start to think that they can’t compete they may not ever try. And by try I don’t just mean trying programming competitions.

What do you think? Is this a problem? Are there no top 10 US teams in the ACM event because our best are not involved or is it because our best are not good enough by some definition of good enough? If it is a problem how do we fix it?


Cy said...

Great post - this is just what I was thinking when I looked at the winners for this years Imagine Cup. When I look at competitions that fail to gain traction in the US I tend to point to a lack of longevity.

Great engineers are driven to build - that's what they do. They want to see their inventions grow, thrive, and change the lives of millions. Any competition that fails to support inventions after the competition to become enduring business will fail to attract great engineers.

If I look at the competitions here in the Valley that attract great entrepreneurs they all demonstrate that through onramps to the investment community - the one thing that is difficult to do on your own. From TechCrunch Disrupt to YC to Lightspeed (the program I'm in) they all are about connecting the aspiring talent with the resources they need to grow.

So, if folks running competitions are looking to grow engagement from this community - VC involvement strikes me as a winning proposition.

Anonymous said...

I agree it would be nice to see more American students participate in the most prestigious contests. But if you look at the right contests, you will find a lot of Americans competing. At our contest, it is about 90% American.

Part of that is our contest only requires 8 hours - total. That's doable for most any student. Another part is its fun. There are many other contests like this out there.

Alfred Thompson said...

Some interesting comments at Hacker News FWIW

Mike Zamansky said...

I don't think it's a real problem.

Teams are composed of 3 people. That means to contend, you basically have to identify three top people and work with them. I'd bet the schools that are regularly up near the top of the leader board actively practice specifically for the competition.

Years ago I worked with kids on USACO stuff and entered the ACSL once or twice. Back then I was more competitive and into that type of thing. I realized:

1. The skills that you have to hone for these competitions are only partially transferable. That is, the algorithmic stuff is good, but on the other hand you're writing things quick and dirty and in an artificial environment.

2. You really have to work with the team which takes time away from the masses.

3. The to 3 people making up the team will probably be ok without the extra attention even if they don't make the top 10.

Back then, our kids did really well in competitions and now they permeate the tech world doing great stuff.

Since I stopped working with a CS team, I've had scores of graduates. They too permeate the tech world and are doing great things.

So, as I said, I don't think it matters.

Competitions and the types of problems they pose can excite some kids and that's great, but like all competition, it's important to keep things in perspective.

We still do some competitions. A colleague of mine enters a team in zero-robotics each year and we always go to a competition hosted by St. Joseph's College on Long Island -- it's lots of fun and a great experience for the kids. They compete and want to win, but if they don't, it's still all good.

Braden Talbot said...

I'd like to see more international collaboration between free individuals than more competition. I know it's all in "fun" but nationalism shows itself even in these little games and competitions, and nationalism is quite idiotic, if you ask me.

Rcmaniac25 said...

As a US college student who has participated in 2011, me and my friends had many issues with the competition.

At the time, we were required to do something around the UN Millennium Goals, and to be frank, we thought that was a terrible idea and a boring one at that.

We came up with ~8 game ideas and 5 teams. All registered and all but one suffered the same fate, the last day the of the competition, everyone went to upload their projects and we got maybe 1 or 2 kb/s for a project that was upwards of 800mb. The deadline passed before the uploads completed. Instead of allowing the upload to finish and being submitted, the upload finished and we were told "nothing uploaded" and if we tried to upload anything again we were told "passed deadline" and couldn't upload.

Many said they wouldn't compete again if they had to make a game they didn't have any desire to work on, and had to deal with a bad submission process.

Given, that's a weak reason but it was a big turnoff for us.

The one team that did submit on time got an honorable mention for a game that we found more entertaining to watch someone attempt to play then to play ourselves (you could say it was classic-arcade style difficulty+I wanna be the Guy or VVVVVV).

When we were asked to compete again, we turned it down. When we were asked again this year, we also turned it down, only to find out after the signup deadline that the Millennium Goals weren't a requirement anymore. We were so stuck in our expectation of the Imagine Cup that no one looked at the requirements. When we saw that, a bunch said they would definitely look into competing.

Unfortunately due to other circumstances, the group of us... "dissolved" (it was a game development club) and we are currently restructuring where people can work on their own projects. So it now becomes do people want to work on this or their own projects?

We had members who started their own game companies, others have made a few thousand dollars on selling the rights to their games, others who went into industry on AAA games.

(Now after providing the backstory)

You hit the nail on the head of we (US students) saw other, better, opportunities.

Specifically for the Imagine Cup with me and my friends, felt bitter about the poor experience we had with trying to compete.

If the competition provided a set of guidelines but otherwise let students do what they wanted (If I recall correctly, that is how now is) then more students would compete (a chance to win a fair amount of money is enough incentive for a good amount of college students, and is a reason many go looking at startups)

Other commentators brought up good points: long-term competitions don't always work to well for students, many of my friends like Google Code Jam and short-term "sprints" as I've seen some people post, as opposed to "endurance" competitions.

There are groups who "practice" which can, and does, put off the casual student who might just want to, dare I say it, have fun.

There is also a fair number of people who are completely unrelated with the exception of being students who know each other and would want to compete.

Hopefully didn't ramble too much. ;)