Live data from Hacker News

2016 ACM International Collegiate Programming Contest Scoreboard

icpc.baylor.edu

11–20 of 55 posts

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#11
post #5

A new edX course [1] was announced few days ago, which is created by SPb ITMO (which finished 7th this year). [1] https://www.edx.org/course/how-win-coding-competitions-secre...

The course is an introductory course, suitable only for beginners. Do you know any good resource for intermediate-level programmers?

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#12
post #5

A new edX course [1] was announced few days ago, which is created by SPb ITMO (which finished 7th this year). [1] https://www.edx.org/course/how-win-coding-competitions-secre...

The course is an introductory course, suitable only for beginners. Do you know any good resource for intermediate-level programmers?

Stanford's course http://web.stanford.edu/class/cs97si/ and another one: https://algo.is/t-414-aflv-competitive-programming-course-20...

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#13
post #4

Why are Russians so historically good at these competitions? China have raw numbers, America has the resources/ecosystems to train and prepare these programmers. Russia seems to have neither and regularly outperform both nations.

I guess it's the same reason why Indian Americans here in the US win spelling bees. They care about it more than others. These students go through a ton of training with coaches and camps specifically conducted for this purpose. There's a lot of nuances and tricks to be learned in competitive programming. So while the participants obviously have a high aptitude, it's the training that puts them on the top.

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#15
post #4

Why are Russians so historically good at these competitions? China have raw numbers, America has the resources/ecosystems to train and prepare these programmers. Russia seems to have neither and regularly outperform both nations.

I don't think raw number explains the Chinese performance. India has a comparable population, arguably better positioned to do well in ACM (English-speaking country with a strong IT sector). However you don't see many Indian universities here.

On interesting thing to note is the ACM World Final ranking usually doesn't correlate perfectly with perceived ranking of the school, even the ranking of its CS department.

Another point is, ACM is fun, but if you purposefully train for it, you reach the point of diminishing return quickly. Being a former Olympiad in Informatics contestant (high school equivalent of ACM), I find these kind of competition absolutely not helpful in real world programming. It does help me pass the interviews.

In China at least, ACM is perceived a way to prove oneself to potential graduate schools in America and employers. And I do know employers give very high priority to these students - even Google.

So, the reason the Chinese is good at it is mostly, this is not a hobby, but a high stake exam. It is a way to land at prestigious graduate program or job.

Why isn't the US, and why aren't top universities doing as well as we may think they would be? Because they have better options than ACM.

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#16
I did a competitive programming course in undergrad, these problems are really interesting if you're not familiar with it. I highly recommend folks try a few problems and look at the solutions. It can be really eye-opening.

However, I really haven't applied much of what I learned doing the problems to "real" work. It's cool to see methods of looking at things differently, but just doesn't translate well to software development.

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#17
post #16

I did a competitive programming course in undergrad, these problems are really interesting if you're not familiar with it. I highly recommend folks try a few problems and look at the solutions. It can be really eye-opening. However, I really haven't applied much of what I learned doing the problems to "real" work. It's cool to see methods of looking at things differently, but just doesn't translate well to software d…

Speaking as a former ICPC competitor/coach, I think the aspect that most directly translated to professional software development was getting practice at quickly writing and reviewing code for performance and correctness.

A bit of background about ICPC, for those who don't know: It's a team competition. You have 3 contestants on a team, but only one computer on which to write, test and submit your code. Most of the work of solving a problem is usually done in your brain or on paper, so typically, one person will be coding at a time while the other two think about problems and get ready to rotate to the keyboard.

But although the primary scoring criterion is number of problems solved, you also get penalized for time taken and incorrect attempts. So it's really important to be able to glance over someone else's shoulder and notice things like "oh, there's an off-by-one error in that loop condition" or "you forgot about such-and-such an edge case".

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#18
post #4

Why are Russians so historically good at these competitions? China have raw numbers, America has the resources/ecosystems to train and prepare these programmers. Russia seems to have neither and regularly outperform both nations.

I don't think raw number explains the Chinese performance. India has a comparable population, arguably better positioned to do well in ACM (English-speaking country with a strong IT sector). However you don't see many Indian universities here. On interesting thing to note is the ACM World Final ranking usually doesn't correlate perfectly with perceived ranking of the school, even the ranking of its CS department. Ano…

Totally got what you mean as a Chinese. I wish we had more truly skilled explorers than overwhelming number of ladder climbers.

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#19
post #6
post #4

Why are Russians so historically good at these competitions? China have raw numbers, America has the resources/ecosystems to train and prepare these programmers. Russia seems to have neither and regularly outperform both nations.

I know that St. Petersburg ITMO university specifically trains their student to compete at ACM contests to far greater extent than US schools.

I can confirm. Itmo normally has at least 3 equivalent teams at any time that compete against each other during the regional stage. There are also specialized study groups and slight preferences (exam and schedule-wise) for those who are serious about competing in team contests.

Re: 2016 ACM International Collegiate Programming Contest Scoreboard

#20

I have always found a lack of books on advanced things that I've encountered in competitive programming like Fenwick trees, link-cut trees, rmq etc. Can anybody recommend book(s) that contain these things?

I don't know how many books there are on those topics. A lot of the data structures in higher level competitive programming problems have pretty niche uses. It might be best to look at papers instead. Here's one on the Fenwick/Binary Indexed Tree:

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=503...

Post reply on HN