Live data from Hacker News

What Is It With US Students and Programming Contests?

blog.acthompson.net

11–20 of 24 posts

Re: What Is It With US Students and Programming Contests?

#11

I represented a U.S. school at ICPC world finals twice (the maximum number of times). Just based on what I heard from other contestants and their classmates, it seems like the biggest contributor to the outcomes we see at finals is that some schools take this contest much more seriously than others. So a team at, for example, St. Petersburg State University may spend 20-60 hours/week practicing while a team at Stanfo…

> just being able to write stock algorithms correctly without much thought

Outside of a job interview, I don't see why this would be a good idea. If you need a stock algorithm and your environment has a stock implementation, why on earth would you roll your own umpteen zillionth implementation?

Sometimes you have an embedded problem or some weird feature of the problem domain that favours a non-stock algorithm. But that surely suggests only knowing algos to the depth required to pass Algorithms 202 ("this is an odd case, I'll look up the alternatives"), not having muscle memory that can instantly spray plain mergesorts into a text editor.

Re: What Is It With US Students and Programming Contests?

#12
I represented UT Austin twice for the world finals. I was really blown away by the amount of practice the Eastern European and Chinese students had (biweekly intra/inter school contests and regular coaching/TopCoder sessions). Even most top American schools (Stanford, CMU) had Asian grad students (they allow 1st year grad students in ICPC) and even those schools did not manage a top 10 ranking.

Re: What Is It With US Students and Programming Contests?

#13
We won at the state level and, as a team, decided that we found it intensely boring and weren't going to pursue it any further and gave up our spot.

We are paying real money to have access to bright teaching staff and be able to take classes. I couldn't justify spending more time practicing for contests.

Re: What Is It With US Students and Programming Contests?

#14

I represented a U.S. school at ICPC world finals twice (the maximum number of times). Just based on what I heard from other contestants and their classmates, it seems like the biggest contributor to the outcomes we see at finals is that some schools take this contest much more seriously than others. So a team at, for example, St. Petersburg State University may spend 20-60 hours/week practicing while a team at Stanfo…

> just being able to write stock algorithms correctly without much thought Outside of a job interview, I don't see why this would be a good idea. If you need a stock algorithm and your environment has a stock implementation, why on earth would you roll your own umpteen zillionth implementation? Sometimes you have an embedded problem or some weird feature of the problem domain that favours a non-stock algorithm. But t…

I am not talking about writing a sort.

When it comes to providing stock algorithms, most environments are woefully inadequate. I have not yet encountered an environment with a usable maximum_bipartite_matching(), ternary_search(), or bfs(). To be usable, it would need to be easier to convert my problem instance into the types accepted by the library function than to write the code that does the right thing on my types. STL's next_permutation() is the only next_permutation() in any environment I am familiar with, and it does a great job. I believe I've also encountered one stock implementation of binary search that is useful for the case of "binary searching on the answer" (rather than just binary searching in an array), but this isn't a big deal because it saves you maybe 3 LOC.

Re: What Is It With US Students and Programming Contests?

#15
I've done ICPC for the past two years, and will probably get dragged into it this year (small CS program at my school). We don't practice, and usually end up in the top third regionally. Not great. But it's just not worth my time. I get enough algorithms in my coursework, I get enough stress and team action at my job at a startup, I don't care about trophies and the other prizes are weak...why bother?

I might be interested in, say, a 12-hour Rails contest to see who makes the best website in a day. That's actually building things--solving real problems. But that's of course not realistic for most CS students.

Re: What Is It With US Students and Programming Contests?

#16

Earlier quoted context omitted.

> just being able to write stock algorithms correctly without much thought Outside of a job interview, I don't see why this would be a good idea. If you need a stock algorithm and your environment has a stock implementation, why on earth would you roll your own umpteen zillionth implementation? Sometimes you have an embedded problem or some weird feature of the problem domain that favours a non-stock algorithm. But t…

I am not talking about writing a sort. When it comes to providing stock algorithms, most environments are woefully inadequate. I have not yet encountered an environment with a usable maximum_bipartite_matching(), ternary_search(), or bfs(). To be usable, it would need to be easier to convert my problem instance into the types accepted by the library function than to write the code that does the right thing on my type…

You and I have different concepts of stock. I'd be amazed if 80% of what's required in practice isn't all boiling down to search & sort. They're baked into damn near everything, either explicitly or by indirect usage.

I don't really know or care which exact elaboration of quicksort that my database engine is using. I'd be unsurprised if there aren't a few that it chooses amongst at plan time. I just say ORDER BY and get on with the rest of my work.

Alternatively I could pull the unordered set and write my own sort. And I'd hope to be committed to an institution for the criminally wasteful for such an act.

Re: What Is It With US Students and Programming Contests?

#17

A better title would be "Why do foreign colleges waste so much time on programming contests?"

God forbid a college devote time and energy on an academic pursuit, instead of say, an athletic one (I know, off-topic, but just an analogy).

Personally, I've found many benefits to competing (or even practicing for) programming contests. Not least of which is personal enjoyment and mental exercise.

Re: What Is It With US Students and Programming Contests?

#18
I competed in the acm. It was a complete waste of time. The teams that smashed us had memorized, line for line, C implementations of obscure algorithms that solve specific problems you'll likely never need in building a product. Or if you need the algorithm, you'll look it up and use a library.

Look at the solutions of problems from the top 10. I wouldn't hire any of those people.

Re: What Is It With US Students and Programming Contests?

#20
When I was in school, I found the idea irrelevant. Cramming out algorithms fast simply isn't interesting. I'd rather cooperate than compete, anyway.

Something more like the netflix contest is more interesting and long-term sustained. Allows you to think better.

Which all isn't to say that studying algorithms is bad. It's not. But I don't want to be tested on speed-algorithming.

/me shrug

Post reply on HN