Hacker News new | past | comments | ask | show | jobs | submit login

I'm glad the author mentioned Project Euler... I've never heard of it. Anyone else have experience with these problems? Is it a good way to improve your development skills?




You left out Berkeley's annual programming contest:

http://www.cs.berkeley.edu/~hilfingr/programming-contest/

The bottom of the page also has links to problem sets from a bunch of other contests.


Thanks, I was unaware of that one.


I'd add TopCoder and Codeforces to the list:

http://community.topcoder.com/tc

http://codeforces.com/

Both of these sites run a few algorithm competitions every month.


Whenever I recommend Project Euler to people wishing to practise coding I always caveat it by saying "the first 50 problems are useful". After that Project Euler quickly becomes more mathematical, which is great if you wish to practise your maths skills, but may not be what you're looking for. There are exceptions, of course, and some questions may require implementing an important algorithm, but it is difficult to tell at first glance if you will be learning some esoteric area of number theory or something useful to your coding skills.

TopCoder, CodeChef, SPOJ may be what you're looking for.

(Having said that, PE is great fun if you're interested in maths per se).


Thanks for the advice... I was looking at the last pages and I've got no clue what's going on.


If your someone who isn't very experienced in mathematics, it's better to do them in order (easiest to harder) that's how your suppose to progress. If you're starting with the last one, it's normal you feel lost, it's like starting mountain climbing with the Mount Everest.


It's a very good way indeed.

One good thing about it is that there are different levels of success.

The problems usually come with a simplified version to which the result is provided. That way you can confirm your solutions works. Then, the real problem scales it and you have to improve the algorithm to achieve the performance goal of less then 1min cpu time.

It's also o good way to learn a different language. You can compare your solutions in different languages and evaluate their strengths and weaknesses.


It's been useful for me. Back in high school, I raced to 50 problems against a friend and learned a lot along the way. Sure, you can get problems elsewhere, but the site has a nice way of continuously upping the complexity to enable self-learning.


They’re interesting problems, a good way to improve your coding skills, and an amazing way to train for interviews.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: