views:

184

answers:

3

Is there something like Project Euler, but with each task consisting of a broken program which you have to fix? So one can improve debugging skills. Where you can post your improved version, and it checks if your fixed version of the program works correctly (and possibly that you haven't just totally rewritten). Perhaps also a spoiler page which describes the problem and debugging techniques useful for the exercise.

Small/medium sized problems, not too big, so you can do them as sort of programming-entertainment. Fixing real problems in open source software is good, but it needs more setting up, the code is generally much larger and the problems may be too hard.

+2  A: 

Very hardcore, and fun? PullThePlug of course.

Stefano Borini
That's pretty cool. I've got some friends that would love this project. Thanks!
Steve Lazaridis
Careful, gives sense of omnipotence.
Stefano Borini
I have to admit that it changed quite a lot. When I did it, years ago, it was all exploiting code vulnerabilities. Now it's more network centric.
Stefano Borini
+1  A: 

Nice question. My general experience is that just writing my own code gives me plenty of debugging experience. I wrote that almost as a joke and then realised that this is in fact how I've learned my debugging skills. So answer #1: write more code!

I observe that now and agains folks post interesting questions such as this which are exacctly a debugging exercise. Try that one without looking at the answer!

I think it would be a nice refinement for StackOverflow to collect such questions and present them as challenges.

djna
Hey, you should add this refinement request to the meta site.
Steve Lazaridis
A: 

Language specific, but there is How Not Too Program in C++. And I found that reading David J. Agans' book Debugging (which I found on a shelf in a hotel in Bordeaux, France(?!?)) helped even though I "knew" all the advice already.

dmckee