Hacker News new | past | comments | ask | show | jobs | submit login
Introduction to Competitive Programming Contests (stanford.edu)
81 points by fachoper on Nov 18, 2012 | hide | past | favorite | 19 comments



I participated in 3 programming contests in high school and 2 in college. I was never the person that came up with the great solution and I really felt like an inadequate programmer because these challenges used to make my brain hurt. Anyways, in college when they were putting together the team my professor approached me and asked if I would participate. When I told him I didn't feel like I was good enough at coding to be a part of something like that he shot that notion down, reflected on my personality and got me to sign up. Never contributed less code to a team in my life, but never learned more either. I took the role of lead motivator for the rest of the team and we ended up placing top 5.

Point is, if you never tried a programming contest, do it. You dont have to be a genius programmer to contribute to your team.


I've represented my university in the ACM-ICPC four times in a row and this year I coached. I consider myself average at competitive coding (i.e. if I had a team that consisted of my clones, we would not be good enough to make top 30 in a difficult region). I participate to learn (both algorithms and coding) and because I enjoy it. A side benefit is that I'm a quicker problem solver than when I started.

Every year I try to recruit students. The most common reply is along the lines of "I'm not good enough". To which I reply "You compete to learn, you'll get better!". Doesn't work though, the best strategy is to have an authority figure (e.g. professor) ask students to compete.

edit: This collection of resources I put together may be of interest to some. https://github.com/BrockCSC/acm-icpc/wiki


I took a similar course at the National University of Singapore called 'Competitive Programming'[1] taught by Dr Steven Halim. It probably has to be one of the most fun courses I took at uni. I didn't really learn much theory since most of the content is already covered in a standard algos course, which was one of the pre-req. But I think my programming and problem solving skills went up a notch. Our assignments were basically on solving problems from the UVA Online Judge[2]. We had two competitions for the mid-terms and finals. Each had an individual component and a team component that run on a custom grading server.

[1] https://sites.google.com/site/stevenhalim/ [2] http://uva.onlinejudge.org/


I would say if Jaehyun does not qualify, I cannot think of another one who does


Just look at his CV[0]. It is just amazing what Park has accomplished with such young age.

[0]: http://www.stanford.edu/~liszt90/


This bastard is skipping his master thesis, going straight to the phd. I thought only psychologists and doctors were allowed to do that :)

<- some guy finishing his master thesis.


That's the standard way of doing things in the UK and the former British Empire. Go straight from doing a Bachelor's, with coursework to doing research. He probably did the Masters programme requirements while technically an undergrad. The other interpretation is that he's part of the Ph.D. programme but he's a Ph.D. student (still doing coursework) rather than a Ph.D. candidate (gotta finish up that research and write papers/a thesis.)


It's not that uncommon in CS. I just started a Ph.D. program (Robotics at CMU) straight out of undergrad and a decent number of the other incoming students are in the same boat. It varies depending upon the field and the university. For example, several of the top mechanical engineering programs require a M.S. to apply for the Ph.D. program.


Pretty common/normal in the sciences.


It's only C/C++/Java :(

I think I will solve them by myself for myself in Perl.


There's some good stuff here too: http://www.cs.sunysb.edu/~skiena/392/


looks like the course lecturer was still an undergrad student at the time he lectured this course. I wonder if that is common at Stanford or whether he is a Doogie Howser style child prodigy.


As a student who took this last winter, I can assure you it's the latter.


If you look at his credentials -- he's pretty well qualified to teach this course. And he is one of the coaches of the Stanford team.


If only there was some way to tell. There were a bunch of other words on the page where you read that he was a student. Perhaps there is a way to assemble those words into some sort of order and derive meaning from them.


This is not common, Jaehyun Park is just a genius.


Hes a musical prodigy as well !


It is a "student-initiated course", which is basically an extracurricular activity that earns a symbolic pass/fail academic credit. Sort of like a golf or dance class at a state college, but a bit more academic that that, since this is Stanford.

http://studentaffairs.stanford.edu/registrar/staff/sics


Is it an online course? I can't find the way to enroll in.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: