130

I present to you the following indisputable (depending on your frame of reference) facts:

  • is a meta-tag. It describes the status from which the question is being asked, not the content of the question.
  • might be factually incorrect - for example, it is possible to ask a basic question yet not be a student or otherwise completing an assignment.
  • Copied assignments (verbatim) with no attempt at solving the problem are not real questions and should be closed anyway.
  • Someone, somewhere, will feel the need to say "is this homework? is it? is it homework? Really?" then somebody else will "USE THE HOMEWORK TAG11!!11" (and I'm mildly fed up of it).

And the following possibly disputable points:

  • In spite of this tag, people do not treat the question differently (in my experience).
  • on occasion attracts some poor quality stuff.

So, I propose we build an army of sentinels, one for every homework-tagged question in the Stack and erase every in existence. I do not see this will be a problem; we've become exceedingly efficient at it. In short, I am saying we should finally resolve this question with the answer "NO".

The tag wiki should probably be in the FAQ, where it has greater exposure.

I then propose we make use of the marvelous blacklist feature and block the tag from ever coming back.

For reference reading, see the following meta.crypto post in which I argue for allowing homework questions without using the homework tag and the following meta.programmers question calling for the removal of the homework tag from programmers.

tl;dr The homework tag adds nothing to Stack Overflow and should be removed. We should either remove it slowly via a concerted, consistent community drive of edits so as not to churn too much stuff up on the front page, or use the mod tools to do it (especially with the 17k+ homework-tagged questions existing today). The tag should then be blacklisted forevermore until the end of time.

TROGDOR!!!

25
  • 4
    [homework] was recently blacklisted on P.SE, as it kept coming back after we cleaned it...
    – yannis
    Feb 28, 2012 at 13:25
  • 12
    You forgot to send out the signal
    – Lix
    Feb 28, 2012 at 13:26
  • 6
    "indesputable (depending on your frame of reference)" - you keep using that word etc
    – AakashM
    Feb 28, 2012 at 13:36
  • I thought the homework tag WAS banned, it was like, THE meta tag.
    – Ben Brocka
    Feb 28, 2012 at 13:42
  • 1
    I must have been thinking of programmers. Still, I agree with the same logic that banned it from P.SE
    – Ben Brocka
    Feb 28, 2012 at 13:50
  • 3
    @BenBrocka I thought homework was purged once too, around the time of The Death of Meta Tags, but I could be mistaken. By the way, "subjective" was THE meta tag. ;) Feb 28, 2012 at 13:56
  • 12
    @BilltheLizard: it was the BEST meta tag, quickly identified questions to be closed and deleted.
    – user7116
    Feb 28, 2012 at 13:57
  • 5
    @BilltheLizard I thought meta was THE meta tag ;P
    – yannis
    Feb 28, 2012 at 14:12
  • 7
    Some people treat them differently. Some people don't. Who is to say who is wrong? From a site standpoint, we shouldn't treat those questions differently. We should reward well-written and researched questions with correct code, and cast all others into the abyss. What we should not do is give vague hints and suggestions. And yet, for homework, that is often what we do, because we don't want to do too much of the work for the asker, except now we end up not really making the internet better, we don't really solve the problem. Get rid of the tag. Judge and answer the question on its merits. Feb 28, 2012 at 14:28
  • 16
    The homework tag does add something. Drama.
    – user1228
    Feb 28, 2012 at 16:41
  • 9
    So, I propose we build an army of sentinals, one for every homework-tagged question in the Stack -- That sounds exactly like the thinking of a machine to me! Feb 28, 2012 at 19:37
  • 2
    @Ninefingers sorry, Princess Bride reference. It's not indisputable if it depends on your frame of reference, is all :)
    – AakashM
    Feb 29, 2012 at 11:20
  • 6
    I would be very sad to see it go as I stand by my position that leading answers are more correct than complete ones for pedagogical questions. Jun 26, 2012 at 22:31
  • 1
    It's trogdor according to the edit history, in the style of banksy (albeit perhaps with a little less colour). I didn't put it there though and I actually didn't know what it was until I googled Trogdor. "Burninate" is the word Jeff has always used for "kill with fire", so I stole that one for the title.
    – user142852
    Aug 25, 2012 at 10:53
  • 1
    I CAN HAZ CODE!?
    – TtT23
    Sep 3, 2012 at 2:44

10 Answers 10

90
+550

Almost every question I've seen on Stack Overflow and Programmers fails the first "How to Ask" guideline:

Do your homework

Have you thoroughly searched for an answer before asking your question? Sharing your research helps everyone. Tell us what you found and why it didn’t meet your needs. This demonstrates that you’ve taken the time to try to help yourself, it saves us from reiterating obvious answers, and most of all it helps you get a more specific and relevant answer!

Delightful irony aside, I think there's a real tendency to apply the tag and forget all about that little "Do your homework" requirement, people just paste their assignment verbatim into that beautiful textarea and expect solutions to appear magically.

Homework questions aren't really a special category of questions, they are perfectly fine questions if they follow the normal guidelines. If they don't, then quite a few other actions are more appropriate than labelling them as homework.

The tag is mostly used as an excuse for sub par questions, let's just get rid of it...

10
  • I agree. I'm hoping we can do exactly that, then I can give this a big green tick.
    – user142852
    Feb 29, 2012 at 11:09
  • i agree, we should delete this tag. anyone have 20000 repu around here?
    – AnojiRox
    Aug 12, 2012 at 23:00
  • 5
    opposed. people are not going to stop asking "homework" questions, regardless if there's a tag for it. as you said, these questions are almost uniformly bad questions, with no research effort. with a homework tag, i can ignore these questions entirely by adding it to my ignore list.
    – Jeff
    Nov 27, 2012 at 22:42
  • @jeff Exactly. But that's a bad thing, you shouldn't be ignoring those questions, you should be helping moderate them (ideally improving them, and if that fails, well, kill them). If [homework] degraded to a tag to ignore for the majority of SO users, then we'd end up with a bunch of unanswered questions, that wouldn't be good. I get how appealing is to forget about a whole category of generally sub par questions, but not really a behaviour I'd like to encourage. Community moderation is a key factor in SO's success, and it doesn't really work if we just ignore crap.
    – yannis
    Nov 27, 2012 at 23:32
  • 1
    @Yannis but by the same logic, a homework tag would make it easier for people to moderate these questions. simply add the homework tag to your favorites. either way, the tag is useful for filtering. the homework tag has 1.3k followers--much more than most. that alone should indicate that the tag serves a function that many people want.
    – Jeff
    Nov 27, 2012 at 23:43
  • @Jeff Every tag is useful for filtering, that's... what tags are for ;) Anyway, the community overwhelmingly supported removing the tag, and the process to remove it has already started, not sure what more I can say about it. Feel free to post an answer here explaining your position, if you want.
    – yannis
    Nov 28, 2012 at 0:34
  • @Yannis yes, every tag can be used for filtering... but most aren't. most tags have very few followers. looks like i'm outnumbered though. oh well.
    – Jeff
    Nov 28, 2012 at 1:14
  • I suggest that we recommend teachers to this site to search for their questions, and if they appear to reprimand their students. It's not much trouble to pick a few questions at random and google search them. Mar 20, 2013 at 15:04
  • 1
    @LeeLouviere This already happens, every now and then there's a "see me after class tomorrow" comment ;)
    – yannis
    Mar 20, 2013 at 16:01
  • @Yannis LOLOL That would scare the crap out of me. Mar 26, 2013 at 17:19
29

I would comment instead of an answer, but I think I'd be too wordy.

You mentioned the tag making no difference in how we treat a question. I'm not so sure that is universal.
I see the homework tag as a sign that there are likely to be more artificial requirements to the answer than usual. That is, homework questions often can't use the most obvious answer or some clever trick.

That said, I think I agree with the burnination of the tag, for meta reasons.

5
  • 11
    There are often "artificial" restrictions in real questions too - especially when dealing with legacy systems etc. Stuff that you'd dearly love to rewrite using the latest & greatest framework/compiler/design rules but you just can't because you need it to run on a 200MHz PII (or whatever).
    – ChrisF Mod
    Feb 28, 2012 at 14:09
  • 12
    homework questions often can't use the most obvious answer or some clever trick. True, but that can be stated in the question itself, and I think especially for homework questions we should encourage people to not be lazy and write every relevant piece of information in the question itself.
    – yannis
    Feb 28, 2012 at 14:09
  • 2
    I agree with both of the above. :) Feb 28, 2012 at 14:12
  • example question. Compare Tim's answer that respects the artificial requirement that the solution should be one big regex and mine that ignores it.
    – jfs
    Sep 17, 2012 at 5:31
  • I recently saw this very behavior in a question: stackoverflow.com/questions/9660843/… . The person wanted to make a proxy server, the obvious answer was to use an existing proxy server so it got flagged as homework. Sep 27, 2012 at 11:39
28

Computer Science tried a tag, we debated it several times on our meta, we found that people can't even agree on what the tag is supposed to mean, and we ended up getting rid of it through a vote. The only effect I've seen from getting rid of the tag is that it's cut down on the number of arguments about adding it to a question. In other words, all the tag did was to generate arguments about its use. Good riddance.

Let me emphasise a point here: even the supporters of the tag do not agree on what the tag means. We have a tag that means different things to different people, generates a lot of argument, and does not categorize questions (it is perfectly possible to have two identical questions, except that one has the tag and the other doesn't; depending on what means, they may or may not be duplicates). So the tag is both useless and harmful.

Even Mathematics's homework policy is far from consensual. In an old discussion on the topic, the most upvoted answer by far, by Professor JDH, reacts against the opprobrium against homework questions:

Finally, let me say that the policy of encouraging weasily half-answers to questions that have been deemed to be homework, consisting of obscure hints only, amounts to an annoying policy of encouraging bad answers here at math.SE, and I am completely opposed to it. For this reason, I think we should abandon or ignore the homework tag.

In a more recent thread, the top two answers express opposition to treating homework questions specially. If homework questions aren't treated specially, there's no need for a tag in the first place.

17

When I see something that looks like homework, I do change my answer. Rather than give an explicit piece of code, I might just give general guidance on what to do next.

Usually it's easy to tell what's homework and what isn't even without the tag, just by looking at the question. Sometimes I've been wrong though.

3
  • 9
    I wish more people would do this. Too often someone comes along and writes the guy's code for him, when you're halfway through trying to coax the guy to think for himself. Sep 3, 2012 at 1:09
  • @TheDarkAvenger - This is even more a problem, because everybody likes to answer easy homework questions, but seldom ready solutions will help the student to become any better. Nov 24, 2012 at 21:30
  • @martinstoeckli -- Maybe easy questions should get no credit for answers, somehow. Too many people are more interested in picking up points than exchanging information and teaching/learning. Nov 25, 2012 at 3:23
16

I think we're all missing one major point when it comes to the homework tag, it suggests that answers a question receives should be deliberately different when it comes to quality than other answers on the site.

I did not say that answers to homework questions are generally sub par, or of worse quality, I just said different. Some homework answers are stellar, or as stellar as they can be within the confines of the tag. They're different because they deliberately do not give a concise, testable solution to the problem being presented. This is because the tag suggests that they shouldn't, and that's a problem.

If I am not a student, but independently learning a new language or methodology, I hate finding homework questions in search results. I've done my 'homework', I have searched high and low and then I find a solution that's going to require even more work on my part when all I need is a vetted bit of technical knowledge to understand why my code isn't doing what I expect it to do. Upon receiving that knowledge, my next question is very likely to send me off to research why that answer worked, if said reasoning isn't stated in the answer. That's how professionals learn.

If I were a student, I'd also be perfectly capable of writing a question not unlike every other type of decent question on the site and not need to apply a tag that is broadly misused to alert others that mediocrity should be excused. On the other hand, if you don't want a technically complete and verifiable answer, perhaps Stack Overflow isn't the place to be asking your question.

I'm all for burninating and eventually blacklisting the tag.

5
  • 5
    This is a good point. The fact that the one "legitimate" interpretation of the tag -- don't give complete answers, just hints -- leads to answers that aren't in line with the rest of the site and are far less likely to be useful to future readers strongly suggests that the tag is actively bad for SO.
    – jscs
    Sep 3, 2012 at 2:41
  • @Gilles touched on that in his answer as well, but I thought it should also be plainly, and blatantly stated in the context of SO. I've developed a strong dislike of the tag ever since this happened.
    – Tim Post
    Sep 3, 2012 at 2:46
  • So can we burninate the tag? Even taking the MSO traffic into account, everyone who cares should have seen the thread by now (three bounties, umpteen bumps). We have significant support, with the opposition scoring -4. At this point, I'd expect the site moderators to get together, verify that the burnination makes sense, and go ahead and ping the devs. Any progress with that? Sep 13, 2012 at 20:50
  • @Gilles I just brought it up in our chat room. We'd like a few more mods to chime in on my nomination to commence extreme burnination, but it's looking like we're going to go forward.
    – Tim Post
    Sep 13, 2012 at 21:28
  • 1
    @Gilles status-inprogress
    – Tim Post
    Sep 14, 2012 at 15:26
8

I'd be opposed to removing the tag without a suitable replacement.

Knowing someone:

  1. Has been specifically tasked with learning something, or
  2. Has tasked themselves with learning something, or
  3. Is working within certain (potentially artificial) constraints, or
  4. Is at the "I'm still learning" phase of development, or
  5. Etc.

may drastically change the nature of the response.

  1. More explanation and/or links for further research.
  2. Less treachery and/or more-common/-simplistic examples.
  3. More historical reasoning around whys/whens/etc.
  4. Etc.

I'd much rather know the context within which a question is being asked.

Knowing why someone wants to accomplish something may alter an answer from a purely technical standpoint–the same is true on the non-technical sides as well.

5
  • 5
    SE is tasked with building a lasting body of knowledge: when you answer a question, you answer it for everyone else who has that question too, whether or not they've been given it as a homework assignment. Knowing the context surrounding a question can help, but it shouldn't set up a scenario where you have the homework version and the non-homework version, or—even worse—dozens of versions of the same exact question that are custom tailored to the exact circumstances surrounding the asking of the question.
    – user149432
    Jun 26, 2012 at 21:47
  • 1
    @MarkTrapp That simply doesn't matter to me: when an individual posts a question I'm answering it for that individual. If someone has the same question and isn't asking it for homework purposes they can keep looking if the homework-oriented answer isn't specific enough. Jun 26, 2012 at 21:49
  • @MarkTrapp And, if the person asking the homework-oriented question keeps searching, they'll find the specific non-homework solution, and be able to get out of learning something themselves. If SO wants to be a resource for people that want to learn on their own, we need a way to indicate to answerers that the asker wants to learn on their own, but need guidance/assistance. I don't have an issue with that flag being a tag. Jun 26, 2012 at 21:52
  • 4
    If you don't buy into the basic premise of SE that it isn't intended to be a personal tutor and questions should be general enough to help others, it definitely impedes any attempt to explain why this reasoning is faulty.
    – user149432
    Jun 26, 2012 at 21:53
  • @MarkTrapp And if you think a student is (a) asking the same kinds of questions as professionals, and (b) a professional couldn't immediately work with an answer given to someone with less experience and knowledge, then we might as well make SO the "do your work for you" place I thought it was explicitly not intended to be. Jun 26, 2012 at 22:02
6

I'm a college student, and I use the homework tag a lot. I'm still pretty new to SO, but it's helped. I don't use it to tag where I've asked my homework question, but to indicate that this problem is part of a larger solution. I hope that it indicates that I'm still an amateur programmer, and to explain things further, especially when using advanced techniques.

Honestly, I'm not totally against removing it. However, I would like there to be some indication that I'm new to programming, not just SO (or associated sites).

4
  • 9
    That indication (if it's needed) can be in your question. "I'm new to programming and am having trouble understanding event handlers" for example. There isn't anyone who's going to add the homework tag, or the newbie tag, or the please-be-gentle tag to their favorite or ignored tags. It doesn't serve the proper purpose of a tag. If you want people to have that information, you'll need to provide it in the body of the question. Apr 28, 2012 at 19:50
  • 2
    @KateGregory - I'll grant that no one will add homework to their favorite tags, but I would guess (no data) that it's a pretty common denizen of ignored tag lists. May 2, 2012 at 21:21
  • 1
    @KevinVermeer 1302 people have homework in their favorite tags on SO. No, I don't know why. I don't think the figure for ignored tags is public. Aug 8, 2012 at 8:36
  • 1
    If you want some indication that you are new to programming, put it in your profile. If you want answers to your questions to be aimed at people who are new to programming, write that in the body of your question. Whether a question is related to course work or not is irrelevant. Aug 8, 2012 at 8:39
2

Example:

How do I sort a List of ints (7, 3, 4, 3)?

A homeworkquestion is often how to implement the sort, while the language might have a list.sort - method (~function) to do the work. It is often the case, that a homework assignment uses limited possibilities from a language, does not allow convenient libraries and so on.

So the homework information can be important, while it isn't a must to give this information as a tag.

1
+25

It's been a while since I've revisited this old topic, and again I'm debating the merits of the homework tag. I've seen its benefits, but its drawbacks mainly come from the community, not necessarily the quality of questions.

Admittedly, the quality of the questions asked when a homework question is given can be poor, but that does not automatically make all homework questions bad. I had to look to another place to get the answer to "Is this tag worthy of SO?"

I applied the meta-tag sniff test to . Here's what I came up with.

Could the tag work as the only tag on a question?

Admittedly no. is pretty open-ended; what kind of homework you're talking about really depends on what skill level the OP is at, what was assigned, and what was previously covered. All of these are impossible to determine unless we have first-hand experience at that institution or know the OP personally.

Does the tag commonly means different things to different people?

Kind of. I've seen users attack the OP based on the suspicion that the question asked was homework or homework-related, despite that not being the case. I've even seen an edit skirmish behind an instance of those. I'm on the fence with this one, but leaning more towards "yes", since there may be some contention on what "homework" really is.

It isn't really something I want to do, but based on the sniff-test alone, burnination of the homework tag would only be justified.

My older post is below.


I can't say I see anything particularly bad about the homework tag, but I can understand the motivation for it to be burninated.

The questions asked in the homework tag may or may not be of a high caliber, or they may fit under different tags. Fine - let them use the other four tags for the relevant portion of their question, too. As for the questions not being a high caliber, I can't say that I disagree, but then I can't say that getting rid of the tag altogether would solve the problem - you get bad questions without the homework tag as it stands, and many answers - some of them no doubt FGITW - would share a solution which totally makes sense in real-world development, but not in academia.

(Speaking from experience on that last part - as a tutor, I had seen students come in with answers to questions using data constructs that they had never heard of before. An entry level student using the varargs feature in Java? Not likely...)

There should remain a distinction between academic questions and more generalized programming questions. Even if this tag does get burninated, there's nothing to suggest at all that the bad questions will cease. Comments/closes/downvotes can serve as a decent educational tool to get students to ask better questions about their homework, or to seek outside help before coming to SO.

If all else fails, just remind them that SO isn't a "do my homework for me" site, and they'll usually wisen up.

3
  • 1
    I think you want to say in your last sentence that the students should wisen up (become more wise), while the questions should wizen up (wither, shrink, or become shriveled). However, the current sentence with shrinking, shriveled lazy students and a question database with strong AI is interesting to contemplate. May 2, 2012 at 21:29
  • “Does the tag commonly means different things to different people? Kind of.” Make that a definite yes. See the discussions on Meta.CS that I link to in my post: no two proponents of the tag agreed on what it means. Hence: useless for filtering (because the person who decided whether to use the tag doesn't always apply the same definition as the person doing the filtering), and generates disputes. homework is the poster child for meta-tags. Sep 13, 2012 at 20:45
  • The homework tag is contentious enough that it always causes disputes. I can see it being a definite "yes", though.
    – Makoto
    Sep 13, 2012 at 20:53
-4

This removal is a mistake. It solves exactly nothing, and it's harmful to users. It hurts both people like me, who want SO uncluttered by low-quality questions, and people who legitimately want hints on their homework. The Homework tag is invaluable for that, and there's pretty much nowhere else on the Internet to get it.

In explaining the reasons for the decision, Tim Post even posted a comment illustrating the problem this creates:

-1 you just did his homework for him! ... that has to stop.

If that stops, there will be no hints anymore, only solutions. How is it helpful to teach tomorrow's developers to let others solve their problems?

9
  • 1
    You can still indicate that your question is homework in the question without using the homework tag. Just say, "I'm working on the following homework assignment and I'm looking for guidance (without full code solutions) to...". There's no reason you need to use the homework tag to do that.
    – Servy
    Nov 27, 2012 at 22:04
  • 1
    @Servy - The homework tag existed because a) people didn't do that, b) a tag is a lot easier to notice, and c) those questions are very different from normal questions. The type of answers that are appropriate on homework questions would get flagged and removed on regular questions--and vice versa. Nov 27, 2012 at 22:07
  • The homework tag is only useful when it's self tagged. You have no idea if someone is asking how to sort a list for a homework assignment or because they're teaching themself. You can guess, and you can change how you answer based on that guess, but applying a label to the question based on that isn't appropriate, so point A is moot. To B, that's somewhat subject. I can just as easily say (truthfully) that I notice such comments within the question more than the tag. To c, no they are not. You can have the same question working on homework that you do in a business environment.
    – Servy
    Nov 27, 2012 at 22:11
  • 1
    As for the flagging and removal, that has never been the case. (Nor should it be the case.) You can't flag and remove content just because someone treats a homework question like a business question or vice versa. People might vote differently (that does happen, is perfectly acceptable, and can continue happening just fine without this tag), but neither is an appropriate reason for flagging or deleting.
    – Servy
    Nov 27, 2012 at 22:12
  • @Servy - Point A isn't moot at all. Nearly every use of the tag I've ever seen has gone like this: Person asks question, but usually doesn't tag it correctly. Others comment and ask if it's homework. Asker responds that it is, and either he or the commenters add the tag. I have seen this happen over and over again. I've seen plenty of accusations, but it's far less common to simply add the tag based on a guess. You can believe that or not, but by far it's been my experience. Nov 28, 2012 at 0:40
  • On point C, yes, it usually is and should be the case. Homework questions are supposed be answered with hints and guidance, not solved in any specific way. An answer like that on a normal question would likely be flagged "not an answer," and usually deserve it. Normal questions demand specific solutions to the problem at hand, usually involving code. Such an answer on a homework question would deserve a downvote at best and a flagging at worst. This is not a problem that needs to be solved; it's a feature of Stack Overflow that addresses a specific need. Nov 28, 2012 at 0:46
  • To Point A, I've spent a fair bit of time on the homework tag cleanup. I've seen quite a lot of instances of people adding the tag when the OP hasn't indicated that the question is homework, the question merely seemed like it was (and I usually wouldn't doubt that it was, but the fact remains it's not always confirmed by the OP first). In any case, if the OP doesn't indicate that it's homework in the question body you can ask in comments if you want, and if it is edit a disclosure of that into the question body if that's needed. No need to have a homework tag for that.
    – Servy
    Nov 28, 2012 at 14:49
  • Answering a non-homework problem as if it's a homework problem wouldn't make it "not an answer". Describing the conceptual approach needed to solve the problem, providing resources of the direction to take, and explaining concepts in more detail are all things that generally make a great answer, regardless of whether the question contains a fully coded solution to the question that's asked. Overly vague "hints" that don't even explain anything (without code) aren't quality answers to any question, homework or not.
    – Servy
    Nov 28, 2012 at 14:52
  • 3
    Who is voting to delete this? It's part of the discussion, and it follows the topic. You don't have to agree. Mar 1, 2013 at 21:45