In reading some of the previous questions, I did not have a clear understanding regarding the official SO stance regarding other people adding [homework] to questions which are manifestly homework. Under what circumstances is it acceptable to retag a question as homework?
No, don't use homework unless you're the OP or the OP explicitly states that a question is about homework. Will's thoughts on this issue are pretty good. In short, he says that the tag adds a lot of noise with little value. I would even say that his policy of not deleting "is this homework" comments doesn't go far enough, because they're often thinly veiled "I'm better than you and your dumb question" comments, and therefore implicitly rude.
So what value does the tag have? As Jeff says, it usually indicates topics covered in CS 101. That's a suboptimal tagging arrangement. I've seen self-learners ask easy but valid questions only to be immediately mobbed by retags and comments. I nearly asked a grad school homework question once, and the only reason I didn't is that I found the answer on another SO post. If we want a tag for CS 101 topics, we should create cs101 instead of abusing homework.
I'd say it's acceptable to retag, when -- just like for other tags -- you think that homework applies. That is: use your honest judgment.
In my mind, it's often easy to sniff out homework questions.
They tend to be vague -- unless you expect a precise meaning to not-always-precise jargon.
See this question, for example:
Given a relation R with n columns. Use sql to returns the tuples having the maximum number of occurrences of the values. I have no idea how to do query horizontally?
- The questions may have no immediate practical application/details -- they're principle/theory without specifics.
- They're beginner-level, or show no practical experience. This is not foolproof, but it's a "tell".
- They use words like "Given" and/or start sentences with "Use". (^_^)
- They rarely follow the guidelines about "Asking about homework" listed in this answer.
The Homework classification has a variety of uses:
* Determining which Stack Overflow questions are homework-esque questions
* Allowing someone to search homework to see if their particular question has been asked before
* Some people use it as a sign that says "Don't do this guy's work for him."