So, we're removing the homework tag now. This is being done to cut down on the number of comments about homework tagging questions, comments about answering homework questions too completely, and the removal of an obvious meta-tag that is rather poorly-defined. Fair enough.

However, everything has a price. What is that price? For me, the important one is this:

Stack Overflow is now actively suborning academic dishonesty.

Before the tag's removal, if you saw an obvious homework question, you could stick a big sign on it that say, "Hey, don't tell him the answer, or you're helping him cheat." That's no longer possible anymore. We are now relying on the OP to state that it's homework in the question. If they don't, the most you can do now is downvote the question, any answers that are too detailed, and maybe find a reason to close it if it isn't a good question.

To put it another way, there is a reason that all of those spurious comments exist. Because members of the community don't want people to cheat, and they don't want people to help people cheat.

But from now on, every time you answer a question fully and completely (as expected), it is possible that you are helping someone cheat. That you are doing someone's homework for them.

Some have asked if it is Stack Overflow's place to police its members. Many say that it isn't. Well, I have to ask: if not us, then who? We're a community, and it's been said that it takes a community to raise a child.

How are we doing with that?

This is a problem, and it needs to be acknowledged as such. It should not be dismissed. Even if we ultimately decide that all of the possible solutions leave us worse-off than the problem, it is still a problem.

We all agree that cheating is bad, right? That it should be prevented where possible. But if we can't prevent or at least discourage cheating, who's going to do it? How is it going to get done? How do we prevent Stack Overflow from becoming a place for the less scrupulous programming students to go to get their work done for them?

Yes, some people are going to say that simply copying-and-pasting a homework assignment should be closed as NARQ. But that doesn't change one simple fact: it still takes 5 votes to close a question. That's plenty of time for someone to come along and answer the thing. Take this question for example, an obvious copy-and-paste-from-assignment, yet the question has remained open for 6 hours (at the time of posting. Obvious bringing it up on Meta means it'll be closed in short order). During which time someone trolling for rep could have come along and dropped an answer on him.

Yes, the purpose of Stack Overflow is to build a knowledge base. And that means that anyone can come in and potentially search for and find the answer to their homework. But that's very different from that person asking a direct question and receiving a direct answer. One is passively reading of a publicly available resource; the other is one person asking someone else to do their homework for them.

We no longer have the homework tag. So how do we deal with cheating? Is this just an intractable problem and we shouldn't bother trying to solve it? Or is there something we can actually do about it to make the site less able to be used for cheating?

I don't believe we should bring the homework tag back. But I also think it was irresponsible to remove it without at least investigating a solution to this problem.

  • 1
    The odd thing is, though I'm here at MSO quite often, the discussion about this has totally gone unnoticed to me, until The homework tag is now officially deprecated was posted. I would have liked it to stay (though in fact I am not very active on SO at all).
    – Arjan
    Sep 30, 2012 at 15:28
  • 9
    So it's like when actually paid programmers use SO to do their work for them and nobody is forewarned about another jockey in over their heads while cashing in a cheque
    – random
    Sep 30, 2012 at 15:30
  • 2
    @random: "So it's like when actually paid programmers use SO to do their work for them and nobody is forewarned about another jockey in over their heads while cashing in a cheque" Personally, I consider academic dishonesty to be a far more serious issue than someone getting away with doing less work at work. Sep 30, 2012 at 15:36
  • 15
    We'll still close blatant homework assignments copy and pasted into the ask question box; those are pretty much always closed as NARQ. Other than that I'm not sure what else can be done. It's on the student if they're a cheating ratbag, and it's not always possible to tell so. Frankly it's not our problem. Either the question is closeworthy or it's not, it was always possible to post homework questions while hiding the fact that it's homework.
    – Ben Brocka
    Sep 30, 2012 at 15:45
  • 9
    Homework questions often got the homework tag slapped onto them because they smelled like homework. In that sense the tag did not do a whole lot to clarify the situation IMO. Point is that those asking blatant homework questions will still reveal this through the very nature of their questions. I can't see a big loss. And as for academic integrity...that burden should not be placed upon us, but upon the student.
    – Bart
    Sep 30, 2012 at 17:46
  • 6
    -1, too dramatic
    – Brad Mace
    Oct 1, 2012 at 1:59
  • We're a community, and it's been said that it takes a community to raise a child. How are we doing with that? — If people are looking to Stack Overflow for child-rearing, I think whether or not the homework tag exists is the least of their worries.
    – user149432
    Oct 1, 2012 at 2:30
  • Who cares why they're asking? If you don't want to answer their question: move on.
    – user7116
    Oct 2, 2012 at 22:25
  • 7
    You're asking us to write your thesis on large-scale arbitrary Stack Overflow community decisions, aren't you? Oct 2, 2012 at 22:45

4 Answers 4


This rather melodramatic presentation seems unwarranted. In some academic contexts, homework is evaluated for grades. However, I've never heard of an academic environment in which someone could pass by cheating on their homework in spite of their difficulties with all other metrics.

In other environments, homework is there to help the student learn. Helping those students circumvent this process is, in fact, helping them to fail.

"Please supply the answer to this homework question" questions are easy to detect, and as others have pointed out, should get closed.

Once you remove the blatant variations, the rest are more or less indistinguishable from any other question. Hypothetically, almost any question you find here could be a student working on a project -- a student whose code of conduct forbids asking the question here. We can't possibly detect these.

So, I don't see the importance of the homework tag. Blatant bad questions should be closed. Subtle ones can't be detected. And we can't be asking every single poster if they are cheating on an assignment.

  • 1
    Thanks! You said exactly what was on my mind and worded it much better than I could.
    – jmort253
    Sep 30, 2012 at 17:50
  • 3
    In addition I think this whole discussion ignores the fact that teachers are often excellent at sniffing out the "cheaters" or those who have less of a grasp of the subject then their answers suggest. I have seen many group or pair-programming exercises for example, where I could sniff out the student who wasn't the one who fully grasped the material. As such I don't think that taking out the homework tag and the "risk" of cheating is that big at all.
    – Bart
    Sep 30, 2012 at 17:56
  • So true, I got a rubbish result in one programming exam at uni. I was totally unprepared for the examiner actually expecting us to think!
    – Benjol
    Oct 1, 2012 at 5:55
  • Exactly what I wanted to say and well-worded to boot. +1 for the point that "Please supply the answer to this homework question" should be deleted - this is simply Not A Real Question. On the flip side, there is nothing wrong with answering a specific question regarding homework and it is not any more cheating than asking a parent/friend/teacher to help.
    – lc.
    Oct 1, 2012 at 8:21

I wouldn't say that academic dishonesty is the problem here. You look at the questions which reek of "academic dishonesty", and you'll realize something-- even if we forget that they're , these qs are still low quality. And basically write-my-code-for-me qs (which are allowed, but many times useless). Half the time they don't even follow What Have You Tried.

So the root issue here is actually that we allow, without restrictions, such questions in the first place. @random put it rather nicely:

So it's like when actually paid programmers use SO to do their work for them and nobody is forewarned about another jockey in over their heads while cashing in a cheque

I'm OK with students or programmers using SO to solve their problems. SO is there to solve problems and Make The Internet Better(tm). I'm completely against anyone using SO as a code-factory. If the question is about the language/API/whatever, fine. If it's "write my code for me", then we either need strict restrictions or we need to ban them outright. I'm rather against this, they are helpful--but the helpful part isn't immediately obvious (both while Googling and while skimming the question). Otherwise, they're not contributing much to Making The Internet Better(tm). At least, that's what it looks like to me.

  • 1
    pls-send-teh-codez has always been discouraged, it's always been about writing just enough code to solve a tiny problem, ideally one line or so or one interaction between code bits. "Write a function for me" should be purged with fire
    – Ben Brocka
    Sep 30, 2012 at 16:17
  • 3
    @BenBrocka: Exactly. How many homework questions are not plzsendtehcodez? And pf those which aren't, how many can be considered dishonest? If the student is cheating, the only way I see he can do so is via plzsendtehcodez. If he's not, we can have posts about how various libraries/languages work--which I don't feel are "dishonest". Sep 30, 2012 at 16:22

Some points I would like to say:

  • Teachers should be able to differentiate code written by a student that recently started coding few weeks ago, from code of people that have done this for a while.
  • Everybody know the price of cheating, caught or not, you still lose.
  • There is no such thing as SO supporting hacking or dishonesty (it is impossible to never confuse if questions are meant to hack or prevent hacking, and learn or cheat)

But if we can't prevent or at least discourage cheating, who's going to do it?

The school, by applying harsh punishments on cheaters.

It would be unfair to have a bunch of incomplete answers just because someone posted is as homework, the whole world would suffer from that just because one guy? No thanks.


the removal of an obvious meta-tag that is rather poorly-defined

Yes, that. One of the problems with the tag is that it means different things to different people. The common meanings include

  1. the asker wants only a hint, not a complete answer
  2. the asker was given this as course work in a formal education setting
  3. the asker is doing this as a learning exercise (maybe in school, maybe in a book that he's reading on his own time)
  4. the question originated in a formal education setting (and maybe that's where the asker found it, or maybe he's learning on his own)
  5. the question is a step on a question of type 2, 3 or 4
  6. the question looks like a learning exercise, as opposed to something you'd encounter while doing your job

You write

Stack Overflow is now actively suborning academic dishonesty.

First, this is a highly inflammatory statement. It's difficult to take such hyperbole seriously. But let's do for a minute.

The only meaning of the tag for which academic honesty is relevant is 2. So if you want to have a marker for questions where academic honesty would deter from giving a full answer, you first need to get everyone to agree that this is the meaning of the tag. As long as the tag is applied to meanings like 3, 4 or 6, the tag doesn't tell you that you may want to refrain from answering due to considerations of academic honesty.

A show-stopper for meaning 2 is that it's largely unenforceable. Unless the asker (or his professor) comes forth, the asker can claim that he's reading a textbook in his own time, or this is an exam question from a previous year, or some such. This is unverifiable, so all the tag can do is generate edit and comment wars (It's homework! No it isn't! goto start).

The tag is irrelevant in looking for “cheating”. Your point is invalid.

Not the answer you're looking for? Browse other questions tagged .