The homework tag is a little vauge, because there are some questions that are "I've done a lot of work on this homework question and am unable to find the answer" That's acceptable. There's "Hey, do my work for me" that's (IMO) Unacceptable. But they're both "Homework"
–
devinbJun 29 '09 at 13:05

9 Answers
9

When the user has stated that it is homework and what issues they are having with it, and it shows that they have done the basic background work. The benefits of getting answers on SO are that you have some indication of reliability of the answers and you also get varying viewpoints all together.

e.g. Why is this particular algorithm O(nlogn), when it looks like O(n^2)?

No:

When the question is poorly worded, they have done no background work or they haven't even indicated that they have started to understand the problem.

e.g. Tell me the difference between an apple and an orange?

So basically, the rules are the same as for any other good SO question!

agreed especially when there has obviously been no thought or attempts to find out the information.
–
redsquareJun 28 '09 at 14:59

9

Upvoted! Before you send them teh codez, just think "I might end up working with this guy"
–
BlorgbeardJun 28 '09 at 21:06

Can't agree. You are making an assumption that ppl posting homework questions don't care about learning from the answers. Why make those that care suffer?
–
Alex AngasJun 29 '09 at 14:16

2

@Alex Angas: It is you with the assumptions. Do not put words into my mouth. I am saying that people cannot learn programming with out actually programming. The act of programming is the learning, not just looking at a correct answer. At no point did I say the the people with questions "Don't care".
–
Stu ThompsonJun 29 '09 at 14:27

1

Well, there are "help me with my homework" questions (which I'd consider fine to answer with hints), and there are blatent copy+paste the assignment, mash out "PLZ TEH CODEZ PLZ URGNT" questions.. which are kind of borderline offensive. I think those that care about learning will ask the former kind of question.
–
BlorgbeardJul 1 '09 at 11:57

I don't see a big difference between a homework question and a work-related question.

A better differentiator is what is being asked and how is is being asked. "Can someone give me tested, commented, debugged code for sorting" is a very different question than "I wrote this sorting code and it fails under these conditions, and I can't see why, please help".

When someone is asking the community to do their work (whether academic or professional), we should ignore or vote down, and perhaps even heap scorn on them.

When someone is asking for help with a specific issue and has give it some thought beforehand, we should help, and vote up or praise if appropriate.

From my perspective, homework questions can be no different from regular questions, and typically deserve to be answered. Asking a question about basic programming concepts is not any less legitimate than asking questions about the particulars of IE's JS engine.

The other thing is, even if you don't think you should answer the question, someone else inevitably will (unless the question gets closed). There's always people on SO willing to pick the low hanging fruit.

One might say it depends on the content of the question. For example, a question like "what makes this method O(n^2)?" is a lot different than "please write bubble sort in Java." At the same time, these are all questions that someone trying to learn a language must answer at some point.

It doesn't seem to be up to us to enforce someone else's bad behavior in their classes (like cheating online), and it'd be a difficult policy to enforce should we decide to do so. And all questions are questions, ultimately.

Here's a scenario: SO becomes the place for students to post their homework questions in the style of "plz give me the codez". These questions are all answered by rep-whores until there are basically no more CS exercises left unanswered in the universe.

Is that so bad?

If all HW questions are answered, then people won't worry about marking them as such, so it would be easy to ignore such questions if you dislike doing other people's HW.

If we reach a point in which poor college CS professors don't have any more exercises to hand out because every trivial programming exercise known to man has been solved on SO - well, that's a world I want to live in (and be a student in).

I say, if you don't like HW question, vote them down. But don't close them. Your undeservingly high salary depends on there being way too many non-programmers polluting the job market, after having graduated with a CS degree by copying answers from the internet.

That's what I call looking on the bright side.
–
Kara MarfiaJun 28 '09 at 18:39

2

That last sentence is key (and a creative approach), even though it could backfire on you. What if you end up having to work with those non-programmers that (by chance) get programming jobs? I'd be afraid of that.
–
Dan HerbertJun 29 '09 at 22:10

2

A large applicant pool or untalented hacks will actually cause salaries to drop as the untalented will keep offering there services for cheaper and cheaper to offset their lack of skill. "Plz give me teh codez" isn't about learning, it's about getting a grade.
–
toastJul 9 '09 at 21:02

1

And these untalented hacks will be the ones who come back here and ask for more codez.
–
John SaundersJul 18 '09 at 11:33

All good, except a graduate who copied answers from the 'net will increasingly get interviews in preference to a non-grad who knows their stuff. And there's a certain (but wrong) logic here; if a grad doesn't know what their doing after all those beers^^^^lectures, then what could a self-taught person know.
–
Phil LelloApr 29 '11 at 23:44

Sometimes the "homework" tag gets attached by someone who's not the original poster, based on an assumption that may not be correct. All I care about is truth in advertising. If it's homework, I'm less likely to answer, or my answer may be more pedagogical in nature. If it's not a homework question, since we're all suffering in a sea of software complexity, quick guidance towards a solution is much more appreciated.

It's worth keeping in mind that banning people from cheating on their homework on Stack Overflow won't necessarily stop them from using other sites to cheat, especially ones where you can pay for answers. (Not that all homework-related questions are cheating)