Possible Duplicate:
Programming Puzzles

This may sound crazy, but is there a website where you can pick and choose a programming task for someone? Unpayed. As a matter of exercise. I would like to have some real world challenges that I can do in my spare time maybe.

-

migrated from stackoverflow.comOct 9 '11 at 15:21

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Mark Trapp Oct 9 '11 at 20:09

It's not complete Tasks, but I find if I want to give my brain an exercise to improve my programming ability, I just hop onto StackOverflow and start answering questions in the tags I'm interested in

In addition to learning stuff, I also get to see what other people's solutions are to the same problem, what other people think of my solution (votes), and I get to help someone out in the process :)

I also like the fact it's short-term and non-committed. If the problem is out of my depth or if something in life comes up suddenly, nobody cares if I don't actually come up with a solution.

-
Yeah; I think SO does exactly what the OP asked; solve a smallish, real world problem, in code, for free. –  SingleNegationElimination Oct 9 '11 at 19:13

Project Euler is less real world and very mathematical but it starts out gently and later shows you that brute force algorithms won't always work. This is actually the first time where I ran into scalability issues.

-
On which problems did you face scalability? –  Job Oct 9 '11 at 16:50
I had scalability issues as in "algorithm does not scale well" for Problem 67. My original solution was a simple brute force algorithm, but the problem size was just too big. –  sebastiangeiger Oct 9 '11 at 17:04
Sorry, comment in wrong answer... removed it. –  Michiel Borkent Oct 9 '11 at 17:35
With Project Euler, once you get past the initial easy ones, you're going to run into asymptotic complexity all the time. The problems are generally designed so that if you come up with a good algorithm, your programs can run in order of a minute or two on a decent computer. If you don't find algorithms that scales well, you'll quickly find your programs taking hours or more to run. –  Jefromi Oct 9 '11 at 17:57
Hm, I used dynamic programming with problem 18, so solution to 67 would have been the same. I feel smart! Actually, we did a few hw problems like that in my algos class. –  Job Oct 10 '11 at 21:15

I enjoy working on the problems on Programming Praxis from time to time. Sometimes there is a series of posts, like the ones about creating a big integer library.

-

http://topcoder.com has some challenging tasks that can help you learn more about programming, but it sounds more like you are interested in something like http://givecamp.org. Open source projects are another avenue to contribute to real-world work while honing your skills.

-
Yes, because if there's one thing open source project need, it's more checkins by people who don't know how to program. –  Paul Tomblin Oct 9 '11 at 15:54
@PaulTomblin just because you might be doing something new, that doesn't make you incompetent. –  tvanfosson Oct 9 '11 at 16:28
I am not new to programming, in fact I'm doing it for twenty years off and on, but currently I don't work in a company, but in education. –  Michiel Borkent Oct 9 '11 at 17:36

You can try http://www.spoj.pl/. There are public problems to solve, and also, I think that you can create leagues for free, where you can choose problems, give them to your peers and see how they are doing, or just keep ranking between friends.

-