How can we deal with people who use SO as an interactive debugging session?

The typical scenario is that a user (typically low rep or far more questions than answers) posts some a answer to their homework assignment (typically hard to read with poor formatting) with a question like "X doesn't work". You tell them why X doesn't work, revealing problem Y. You tell them why Y doesn't work, revealing problem Z. Repeat ad nauseum.

I don't mind answering such questions, but this sort of question doesn't attract much interest and the users asking often don't know about up-voting or choosing correct answers, meaning that I'm lucky to get any rep at all.

Furthermore, the "answer" ends up reading like a conversation, making the post generally useless to anybody who isn't working on that homework assignment.

Should I keep doing what I'm doing? Should I tell them to post each separate problem as a new question? Should I tell them to ask in a chat room?

This question appears to be off-topic. The users who voted to close gave this specific reason:

"This question pertains only to a specific site in the Stack Exchange Network. Questions on Meta Stack Exchange should pertain to our network or software that drives it as a whole, within the guidelines defined in the help center. You should ask this question on the meta site where your concern originated." – Martijn Pieters, Roombatron5000, ChrisF, Shadow Wizard, ProgramFOX

4 Answers
4

Yes, absolutely. Debugging sessions have zero value to future generations; separate questions have a small chance to be useful to somebody else.

Sending them to a chat room seems to be a viable option, too - I've heard people in many of the chat rooms are pretty nice. But forcing the OP to at least ask a series of separate, understandable question is probably preferable thing: Users with those kinds of problems tend to require endless support sessions that are more difficult to get out of in a chat room.

I'm a CS teacher so I have some experience guiding without revealing too much. It is a fine line to walk. I know along the way I developed a love of problem solving, even when slightly painful at the time. I think that is a component needed by students, whether they realize it or not.

My tendency would be to keep helping till I get bored. I typically don't get bored in the class, with repeated questions. It goes with the territory. A chat room would drive me nuts. I like the pacing of an asynchronous interchange

I don't mind helping, but SO is just not an appropriate place to have lengthy conversations.
–
GabeMar 6 '11 at 6:53

2

Good point, I'm a newbie here, and haven't explored all the communication possibilities. I do like a series of well formed Socratic interchanges, kinda a guided FAQ, but it is hard to count on the well formed part
–
Tom MurphyMar 6 '11 at 18:49

Just vote to close it as either offtopic or not a real question depending on what the actual question looks like.

There are three different cases that I've noticed:

There is a single problem with the posted code, and the OP noted which is the problem, but can't tell why or how to fix it - This is fine! If I know what the solution is, I'll answer it.

It's just a code dump with optional copy&paste from the assignment requirement. This is not fine. I flag these as 'not a real question' since... well, it isn't.

It's a code dump without any question more specific than 'Why doesn't it work?' or 'Can you make it work for me?'. I flag these as offtopic, since this is a Q&A site and not a human powered code review cloud.

The short answer is, "Trying to help someone, I think, should always be the default position. However, if it turns into a debugging session, don't feel bad about walking away. It's okay, really."

I don't think this issue is exclusive to homework questions. I think it applies equally to any question where a the OP hasn't gotten down to the underlying problem in their code, and asks you to work on it. I whole-heartedly agree that SO is not for interactive debugging sessions.

Furthermore, as the person providing the answer, remember that you're absolutely free to "walk away" from the question anytime you want, for any reason whatsoever. The sense of social obligation and wanting to help people is strong (and generally a very good thing), but there's tons of other coders on the site, and it's just as likely that someone else will either come along and pick up where you left off, or add to your original answer, taking the OP to their eventual answer.

Don't feel obligated to go to the nth degree on something if (a) the OP isn't really "getting" it, and (b) your discomfort around the amount of help you're providing is making you question your commitment to the OP in the first place.

Many OPs are very grateful for someone that really digs in and gives them a mini-course in some topic, and I think it's awesome that we have a community of people that enjoy doing this, but it is by no means expected of you. If you decide that the level of commitment you're giving to an OP is beyond what you would freely like to provide, that's okay.

Ignoring the problem doesn't make the Internet any more awesome. The point of my question was to determine how people in general should handle such questions in such a way that the users asking them use the site as intended.
–
GabeDec 22 '11 at 20:29

I'm not implying that you should ignore the problem. I'm saying you should walk away from the perceived social obligation - not the question itself. You can "just walk away" from obligation to the OP if their question (and follow up questions and comments) wind up asking more of you than you want to give. If it truly is a bad question, then down-voting is available to you. I wouldn't say that either of those options are ignoring the problem.
–
jeffluntDec 22 '11 at 20:38

I also updated the first line of my answer to change the tone a bit, to reflect this.
–
jeffluntDec 22 '11 at 20:41