Hacker News new | past | comments | ask | show | jobs | submit login
Puzzle Websites to Sharpen Your Programming Skills (sixrevisions.com)
121 points by edw519 on Oct 16, 2009 | hide | past | favorite | 18 comments



The topcoder headline reminds me of Mythical Man-Month. "What could you accomplish with a team of 222,375?" Nothing?


Can 222,375 women deliver a child in 0.000040472 months?


Properly staggered and with a lead time of 9 months, yes, 222,375 women could deliver a child every 0.000040472 months on average. I'm sorry, was that not the question? :)


and they dont mention uva.onlinejudge.org, the acm problem contests and such?


I like the uva onlinejudge, spoj is pretty good too: http://www.spoj.pl/


Indeed, this is the one my University's CS club uses. It has really interesting puzzles, and you can submit code to it.


The assumption here is that programming is about clever problem solving.

Whether this is so depends on the situation.

The challenge of inventing a new kind of app may be far greater than anything associated with its implementation.

Btw, I think that some people want to use difficult languages at work to make their job more challenging.


I remember doing some of Dave Thomas' code katas when he first posted them, and thinking that they were fun but a bit pointless, and generally rather too easy to learn much from. The other month at work I did a presentation at work on Andy Hunt's theories of programmer skill development where I mentioned katas, saying that I didn't really see they had much value. However, Ron Jeffries' celebrated failure to write a sudoko solver puts a slightly different perspective on this.

If your daily work involves doing algorithmic stuff, even if it's only moderately demanding, then I don't see that you will get much benefit from doing the same sort of thing at a more noddyish level.

However, if your daily work isn't like that, if perhaps it is in the vicinity of what used to called Data Processing (e.g. implementing payroll systems), then I can easily imagine that your coding chops might get rusty. In which case, taking deliberate steps to avoid that would be sensible.

[This argument only applies to the question of puzzles improving ones work, rather than being fun.]


> Btw, I think that some people want to use difficult languages at work to make their job more challenging.

Like Java or C++? I'd rather stick with the easy stuff like Haskell, the problems at hand are challenging enough.


If you're at work, no, it's not about clever problem solving. In my spare time though, I prefer to solve bigger problems than parsing CSV files into databases.


Does working on your serve improve your tennis game?


I like to go through past puzzles from the Informatics Olympiad (http://www.olympiad.org.uk/) for a more theoretical less programmy type of challenge.


For algorithms training[1], the USA Computer Olympiad training program is also excellent: http://train.usaco.org/usacogate

[1] basically from scratch; it's suitable for smart highschoolers with some programming experience. That website has been responsible for more than a few IOI medals.


Another interesting site is Sphere online: http://www.spoj.pl/


I don't like Facebook's puzzles some of them are impossible to solve without using C.


Can't you call C functions from pretty much any language worth it's salt nowadays? What are the problems that are intractable in other languages?


Interesting. Which ones?





Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: