First, let me say that Stack Overflow and its related wikis are one of my favorite places on the net, and I've learned tremendously from many of you, and find most of you to be fine and charming folks — and most importantly genuinely helpful.

That said I've noticed a few disturbing trends on the site, and I wanted to discuss one of them here.

I've seen a few past posts on this meta like this one discussing how to dissuade users from using SO as a digital "cheat sheet" to do their homework assignments. I get that, and consider that discussion perfectly valid.

Note on title
(Perhaps the title should be "should we?" if we can not prevent this, but I'm keeping the "can", as I think we "should" and "can".)

Let me start with an example.
How do I Select Highest Number From Series of <string>_# File Names in Bash Script

User msw posts a comment "Please discuss the speed..." sounds like homework."

This was NOT homework. It was a post regarding research I was doing. I have no idea how they would even think that a student was using NAMD for a homework assignment (few schools even offer an MD course), but let's ignore that for a sec.

There's a right way and a wrong way to ask every question. First let's consider:

  • I was a relatively new user at the time.
  • msw had 10k or so reputation, so clearly he was a veteran voice.
  • The post was clearly not a verbatim repeat of a question.

But rather than point me to a resource on what qualifies as homework, and suggest tagging politely, they took (what in my mind) sounds like an accusatory tone. There was no helpful information -- just an accusation, without even proper grammar to soften the blow (no capitalization? no quotes?)

Now I would hope this would be flagged and or downrated after I clarified that the post was NOT homework, but it was actually celebrated. There were two upvotes for his snide and unwarranted remark. And this is hardly the exception. I regularly see rude and non-helpful Is this homework? comments with nary a piece of solid advice being uprated.

It's as if some at SO celebrate experienced posters berating students/new users in a non-helpful manner.

Now I would not have minded if they asked me that question in a nice way and posted helpful information clarifying what is homework and how to fit it into the SO model. But in this case there was no helpful info, only spite. That's just one example, I've seen many more.
(I'll try to add more examples next week, in the meantime feel free to add some of your own if you want to edit this.)

That said, I have to say that ever since I started answering questions on the site, I've noticed a propensity for SO users to shoot first, ask questions later when it comes to the Is this homework? questions/accusations.

I've been asked that question myself at times, and in some cases it's put me in a rather humorous and ironic philosophical quandary, because I'm a grad student/researcher who often IS posting questions that are peripheral related to course work -- even homework, albeit NEVER asking verbatim for a full solution or even the majority of a solution. Further, nearly all of my posts ALSO pertain to entrepreneurial ventures I conduct as a hobby (game programming) or my research. In other words, a percentage of my posts are indeed homework RELATED, but they're not a do my homework post.

Now in at least one case I felt I had forgot a tag for a course-project/independent-study related question, and chagrined I apologized and added the tag ... In time I even started adding this to anything vaguely course-related as a defense mechanism (which worked -- I got less Is this homework? harassment). But even then I felt a bit silly putting "homework" (which makes me think, daily/weekly assignment sort of fare). In retrospect, I now realize I perhaps caved in too quickly. Questions regarding course projects perhaps should be tagged as or , but not , imho.

I think this is true of most beginning dedicated hard-working SW engineers. Yes, they're doing hmwk, but they're going above and beyond the requirements spelled out there-in, and are hoping to reuse the results in for-profit projects or research.

Yet I've seen a kind of ubiquitous harassment about many beginner level questions, even when someone is clearly not truly soliciting a do my homework type solution.

But to note just how much of a witch-hunt it is, I've posted scripting questions which absolutely were not in any way course-related, but received accusations of posting homework, just because I wanted to learn. In these cases I responded "No, not homework, grr..." (minus the "grr"), but did so with much irritation, in my recollection.

Now I'm not the most experienced user, and I do differ to veteran posters and I do appreciate what the anti-homework posting crowd is trying to accomplish.

But I would just like to see people be a bit more selective about when they start hurling the Is this homework? accusation, or at least ask it a bit more gently, if the posting seems ambiguous (as in it could be hmwk, it could not be).

Remember, we're all beginners and if there's an overwhelming witch-hunt overtone on the site, not only will it scare of new SW engineers who could most benefit from the site, but it will also often lead to irritation, hurt feelings, and people throwing their keyboards (don't worry I didn't go that far).

My perspective is:

  1. If a question is a verbatim copy, post your evidence (as in hey, I'm an instructor and this is my question OR hey, I've seen this question in school xxxx's hmwk for course yyyy.)
  2. If you have no evidence that it's a verbatim copy, but suspect that the question could be homework-involved and it's a new user, point them to SO's rules/quasi-rules (like this informal guide) with respect to homework, suggest a homework tag, if necessary, but explain tags aren't necessary or appropriate for course projects, research, independent studies, etc.

So can we agree to cut down on the non-helpful homework accusations, and follow the above productive guidelines to managing the homework issue??

Who's with me? Thoughts?

  • 3
    make a tag not-a-homework?
    – om-nom-nom
    Commented Apr 27, 2012 at 20:38
  • Can you link to some questions where this is occurring?
    – user102937
    Commented Apr 27, 2012 at 20:54
  • 1
    I added one of an archetypal non-helpful harassments I've seen, which in that case occurred on a question I posted (which notably was not homework and which was extremely unlikely to be homework for the reason I note above)... I'll update this next week when I have more time with more examples, but ironically I have a big course-project in my Game Programming course that's due Monday so I have to get back at it. Had to get this off my chest though. :) Commented Apr 27, 2012 at 21:07
  • 1
  • 3
    This may not be true in all cases, but "Please discuss the speed" (and I realize you did say "Please") is the phrasing of a superior giving an order or assignment, not a programmer asking for help from a colleague. I wouldn't stop by a co-workers desk for help and tell him to "Please discuss the speed" of his proposed solution. If you are asking the rest of us to watch our phrasing in these requests (and I'm not certain this one was that brutal), you may want to also consider phrasing your questions so they don't sound like giving orders.
    – JohnMcG
    Commented Apr 27, 2012 at 21:58
  • 1
    @JohnMcG I didn't even think of it in that light. I was just trying to be polite... but regardless, if he felt offended, he could have put that and I would have rephrased the question. I merely said (please...) because I felt it was an extra request, which took a bit more effort and I appreciated people going the extra mile to help me gain perspective. Commented Apr 27, 2012 at 22:02
  • 2
    If that's the worst example we have of this, a comment quoting part of the question and noting it sounds like homework and receiving a handful of upvotes for it, then I don't think we have a problem.
    – JohnMcG
    Commented Apr 27, 2012 at 22:04
  • 1
    @JohnMcG If it's just one stray comment with a handful of uprates, sure, but when it's a ubiquitous trend it does create a hostile atmosphere and is problematic. I guess we'll have to agree to disagree. From my perspective posting grammatically incorrect, non-productive snark -- with nary an explanation of why they suspect homework or suggestions on how to handle it is akin to posting a wrong answer, but surely some would disagree and would rather celebrate experienced users harassing the proles (novice users). Commented Apr 27, 2012 at 22:15
  • 3
    A small question: Is this homework?
    – Marcelo
    Commented Apr 28, 2012 at 14:55

7 Answers 7


The reason people ask "is this homework" is that homework is often not disclosed.

The tag is not a "Do My Homework" tag; it is a declaration that this is a question about a homework assignment. Asking people "is this homework" is not beratement; it is an acknowledgement that the question being asked looks like a homework assignment. Homework questions follow different rules than non-homework questions.

If you require that people not ask "Is this Homework," I will start getting flags to the effect that "This is an undeclared homework assignment." If I agree, I'm inclined to close such questions as "Too Localized."

  • 1
    Not complaining about that Robert, just noting that often people ask this on questions that are not homework or are course-projects. As a beginning user I caved and posted homework tags on many of my course-project related questions or independent-study (but for credit) questions. In retrospect, I should have stood my ground ... this made my posts less clear as to the perspective I was coming from. Again, I'm not attacking every asking the question or scrutinizing cheating posts... I'm just commenting against the overuse and misuse of these kinds of accusations. Commented Apr 27, 2012 at 20:45
  • 2
    I still think we need to ask... If the OP says no, it's not a homework assignment, we can assume it isn't. It's the OP's responsibility if he's being dishonest about it. I've seen many occasions where I've seen the OP explain in more detail what he is doing after being asked "Is this homework?" I find that a reasonable exchange of information.
    – user102937
    Commented Apr 27, 2012 at 20:46
  • 1
    But again, I think it's HOW you ask. I think if a user has not many posts, you should point them to the rules wrt homework and explain that if it's a project independent study, they probably SHOULDN'T tag it as homework. Giving incomplete/non-helpful advice, particularly incomplete/non-helpful advice that can be miscontrued as flaming beginners is worse than posting nothing at all, imho. Commented Apr 27, 2012 at 20:49
  • 7
    Don't tag your questions homework if they aren't. Simple.
    – user102937
    Commented Apr 27, 2012 at 20:50
  • 2
    Easy for an experienced user to say, but when a beginner is being asked accusatory questions by an experienced user, they're automatically inclined to get defensive and blunder (e.g. as in the course project scenario I outline). Again, there's a right and wrong way to ask the question from my perspective. Commented Apr 27, 2012 at 20:52
  • 2
    If it's asked in a friendly way, with links to helpful information sure, that's great... I'm not complaining about that at all. Commented Apr 27, 2012 at 20:52
  • 3
    @Jason If the comments are rude, flag them. This is what flags are for. If they're just educating new users about the existence of the homework tag, then we seem to be in agreement that is OK. Commented Apr 27, 2012 at 21:25
  • 1
    True, I should flag it now... but as a new user I felt a bit awkward with my whole 200 pts. flagging a user who had 10k pts. I feared the moderators would not respond, and the uprating of the spiteful post furthered my fears of that scenario. Commented Apr 27, 2012 at 21:31
  • fwiw, I have now flagged the comment as rude/non-productive Commented Apr 27, 2012 at 21:32
  • 1
    P.S. I find it odd that someone has since uprated the post , since I linked it here (it had only three votes when I first linked it here). That's kind of ironic/sad and proving my point. Commented Apr 27, 2012 at 21:33
  • 1
    @JasonR.Mick: I did look at stackoverflow.com/questions/3579430. "Please discuss" does indeed sound like homework, but you set the record straight. The comment upvotes are people nodding their head in agreement, not celebrating. Such conversations are par for the course; I dismissed your flag. He was, however, out of line adding the homework tag to your question. BTW, why are we discussing a question that's almost two years old?
    – user102937
    Commented Apr 27, 2012 at 22:58
  • 1
    @RobertHarvey I was asked to provide an example, so I provided it. Yes it is an old example, but I've been a user for a while now and have a higher rating, so am asked that question less. I do see a definite predisposition to ask that question to new users. To clarify a few points A) I don't think this is the end of the world, just trying to note a counterproductive trend and offer my two sense B) My commentary is focused on the lack of HELPFUL info provided to users to help them understand when questions should be tagged homework. Commented Apr 28, 2012 at 1:13
  • 1
    C) I realize people won't necessarily agree with me or my suggestions, but at the very least, I feel that they'll be more polite and provide more info when asking this kind of question in the future -- or at least some will. If even a handful do, I will consider this post a success, regardless of whether individuals users rate it up or down. Commented Apr 28, 2012 at 1:14

I couldn't care less if it was their homework or not or if they're cheating. But I do care if they couldn't be bothered to even change the wording from the assignment. An honest attempt on their part gets bonus points.

In other words, a question like:

Why can't I foo the bar? I tried baz...

is perfectly OK, whereas a question like:

You have 3 apples and 2 oranges. Show that you can foo the bar...

will get a digital slap from me. By that I mean a down vote + close vote + comment (which may or may not be snarky). This is absolutely non-negotiable.

  • Of course, but I never did that, but still got snide remarks. As a beginning user I caved and posted homework tags on course-project questions. This was a mistake. I agree if you have evidence a user is cheating, you should say it, but at least explain why you think the post is a verbatim repeat of a homework question. If you have no evidence, then you're speculating and worse, speculating in a punitive manner. Commented Apr 27, 2012 at 20:47
  • 6
    If your question really is not homework related, just say so. Don't be intimidated by people who think otherwise.
    – user102937
    Commented Apr 27, 2012 at 20:49
  • But if it's a course project or independent study, that's NOT homework from my perspective. If you argue it is, it creates this slippery slope, because if you reuse code any question could eventually then become part of homework if you're still taking classes, so you would be forced to tag everything as homework. Commented Apr 27, 2012 at 20:50
  • Again, the problem as I see it as 1) People who DO see evidence of verbatim cheating don't explain it properly so as to out the cheater 2) In ambiguous cases people give advice that will mislead beginners. Commented Apr 27, 2012 at 20:51
  • @JasonR.Mick Rather, it's more so that they don't give them an obvious way to work around the problem. Commented Apr 27, 2012 at 20:54
  • Adding an example now Commented Apr 27, 2012 at 20:57
  • @yoda, that's a good point in defense of verbatim posts. But in that case, it's still important to say why you know it's homework if you do indeed know it is. If you have no explicit proof, but just a strong suspicion, my perspective is be nice and explain the rules with regards to homework and homework tagging in a clear, friendly, and polite way, being sure to note the nuances between homework and not homework` forms of course-work such as course-project or independent-study. Commented Apr 27, 2012 at 21:10
  • If you are incapable of making such a helpful or informative post, in my mind your post is akin to posting a wrong answer. The irony is A) These kind of non-helpful posts are often comments so the worst you could do was flag them B) They're often uprated, even when they're completely wrong, spiteful sounding, and non-helpful. Commented Apr 27, 2012 at 21:11
  • Again, just because there's a real issue here does not excuse rudeness and/or unproductive commentary, or the celebration thereof that seems to occur. Commented Apr 27, 2012 at 21:12

It has been a long time since the guidelines were updated or reviewed in any meaningful way. I just read through them again and made several edits, one of which was to add this text:

It's okay to ask if a question is homework, but be polite.

Does that help you feel a little better?

I think it is often necessary to ask, because of artificial constraint situations mentioned above and because many of us are willing to help the student, but don't want to do their homework for them. But we can be polite about it.

  • Yes, that is my point exactly. That's what I say at the end of the post (and at multiple points throughout it!).... :) Commented Apr 27, 2012 at 21:52

I think the problem comes down to one of perspective:

I regularly see rude and non-helpful Is this homework? comments with nary a piece of solid advice being uprated.

That's because you see the question, "Is this homework?" as fundamentally being "rude and non-helpful." You seem to feel that someone asking if it a question is homework is somehow out-of-bounds, inappropriate, or even condescending. You assume that someone writing this is saying, "he's just asking us to do his homework for him."

Perhaps you should change your perspective. Have you considered that the person said "sounds like homework" because it does? Did you consider taking the comment at face value, rather than taking it as an accusation of wrongdoing? Basically, he said that it read like a homework assignment. Which it kinda does: homework assignments often end with phrases like "Please discuss..."

This is basic Internet interaction at play: don't assume malice when another explanation is available. Asking whether something is homework is not an accusation; it's a question. An accusation would be "This is homework, you dirty cheater!"

Now I would hope this would be flagged and or downrated after I clarified that the post was NOT homework, but it was actually celebrated.

Again, this seems to be something of a misunderstanding. It wasn't celebrated; it was agreed with. There's a difference. Celebrated would be comments added in response to yours telling you that it was homework, despite your insistence otherwise.

You clarified in a comment that your post wasn't homework. But you never changed the post itself. It still reads a bit like a homework assignment. So other people simply agreed with him.

Again, you shouldn't see that as an attack. It's simply other people agreeing with what someone said.

So can we agree to cut down on the non-helpful homework accusations, and follow the above productive guidelines to managing the homework issue??

Um, no. I disagree that these comments are "non-helpful". I don't think you've proven that to be the case. I also disagree that your guidelines would be "productive"; they require direct physical evidence to even ask the person if it's homework.

Remember: new users don't know about tags. They don't know what the homework tag is. And a lot of times, if you ask a user if something is homework... they'll tell you it is. Which is why we ask.

  • First, I think you misread -- I explicitly wrote (#2) that even if you did not have physical evidence that it was homework, but merely suggested as such that it would reasonable to ask IF you provided them helpful information about what qualifies and SO's best practices. Let's be specific. I'm referring to beginning users here. I understand asking the question to clarify the constraints or to make sure the tagging is correct, and of course to prevent cheating. What I don't understand is short, non-helpful responses to beginning users. Commented Apr 28, 2012 at 1:08
  • To put put in context, if I wrote an answer where I said "maybe you should be more careful with how you use pointers" and that was all I wrote, I would be downrated. Provide some info, and make it clear you're trying to help, not to offer snide or snark. THAT is my point. Commented Apr 28, 2012 at 1:09
  • 1
    I don't really see how you can oppose providing new users with helpful information w.r.t. exactly what SO's homework-related best-practices are. Commented Apr 28, 2012 at 1:10
  • @JasonR.Mick: What I oppose is being forced to provide "exactly what SO's homework-related best-practices are", simply to ask someone if their post is homework or not. Commented Apr 28, 2012 at 1:19
  • @JasonR.Mick: To put put in context, if I wrote an answer where I said "maybe you should be more careful with how you use pointers" and that was all I wrote, I would be downrated. Comments are not answers. That might be appropriate for a comment (depending on the question), but there is no question for which that "answer" would be appropriate. Commented Apr 28, 2012 at 1:20
  • 1
    I don't know. This isn't very compelling. Your rephrasing of the comment as "sounds like homework" doesn't make it sound any more polite or constructive to me... Perhaps even less so. Moreover, even putting aside the question of whether the homework tag is a good thing to have around, and granting that new users don't know about it, these comments are fundamentally broken because they don't teach the user about it. Commented Apr 28, 2012 at 7:32
  • 1
    @TheEstablishment: First, that's not "rephrasing" the comment; that's quoting the comment. Second, they're not intended to teach the user about the homework tag. They're intended to get the user to say whether it's homework or not. Which it was very successful at doing, BTW. So mission accomplished! Commented Apr 28, 2012 at 8:12

No, I don't think we can cut back on the "Is This Homework?" berating.

NB: I said "can," not "should."

Past experience and general knowledge of human psychology show that Meta is a pretty effective tool for filing technical bug reports, suggesting new features and requesting support, but kind of terrible at changing users' behavior.

(For example, you're not the first person to bring up people asking about "is this homework"; other people have complained about "I only help people with high accept rates"; dealing with link-only/non-standalone answers is always popular, too.)

My advice to you: try to educate these users with (super-gentle, super-polite) links to Meta and the SE blog, but if they don't listen after one attempt, just ignore them. You're not going to change their minds; all you'll do is pollute the comment area with noise and waste valuable time you'll never get back. There are plenty of good users out there too, and they'll get you good results most of the time.

I hope this post motivates people to change, too. You can even link to it in your polite, gentle comments. But here's the problem with behavior posts on Meta I referred to earlier: most people who see them don't need convincing, and most people who need convincing won't see them.

Meta users, who lead the community — I'm referring to the mods, of course; the rest of us are only community leaders in our own heads — tend to have the same mental representations of what's considered "constructive," "rude," etc. in the context of Stack Exchange. It's not surprising that, when they apply those representations to specific cases, they rarely disagree about how to handle said cases.

  • 1
    True, I should change this to "Should" we. ;) Good comment, though. I hope you're wrong though and that this post highlights the problem and provokes at least a few users to rethink this particular accusation in so much as how they word it. If they word it in a helpful manner, great, but harassment/accusations/berating with no-evidence or helpful info for new users is troubling, to say the least. Thank you though for your comment, I really do agree with most of what you said. Commented Apr 27, 2012 at 21:19
  • P.S. Based on my experience I now do occasionally call people out on what I see as SO new-user bullying, and have almost always been uprated, which shows some people at least agree with me and want to promote a helpful, productive atmosphere. Commented Apr 27, 2012 at 21:20
  • Also, here's the quasi-official guide to handling homework questions on SO/SE.
    – Pops
    Commented Apr 27, 2012 at 21:40
  • 1
    Great guide, hopefully experienced users put that in their homework related inquiry if they put one. Thanks for sharing! :) Commented Apr 27, 2012 at 21:44
  • Sometimes it scares me how often I agree with your answers. Commented Apr 28, 2012 at 7:29
  • @TheEstablishment Sir, you have just made my day.
    – Pops
    Commented Apr 28, 2012 at 22:11

I don't think we need to.

One reason to ask is that homework assignments often have arbitrary constraints that would not typically apply in a real-world situation.

For example, I see a lot of C++ questions asking to somehow manipulate a C-style string, or char array. The STL string class has been around for 15 years now, and is a much better way to handle strings, so the instinct of most C++ developers is to suggest that the OP use that instead, which will typically eliminate or greatly simplify the question being presented.

Rather than initiate the loop of "You should use strings" only to hear back, "I can't use strings" the potential answerers establish what we're dealing with up front.

Yes, it takes the same number of interactions, but does not include providing an answer the OP can't use. And since it is the questioner who is seeking help, it should be the incumbent on the questioner to disclose all the constraints he is operating under.

If we adopt the tone that answerers should assume that all questions are non-homework unless tagged as such or if the answerer has solid proof that it is not, then we are going to get a lot of frustrated answerers, who will ultimately stop answering both homework and non-homework questions.

  • Good perspective, but one thing to consider is that a lot of users who don't spend 100 percent of their time programming (say a physics student who also is a part time SW for research) often aren't up on all the latest best practices. In such cases, I understand the instinct to suspect homework, but it's often an artifact of inexperience or lack of immersion. In such cases, I see no problem with explaining the rules on homework in a gentle productive fashion, and explain to them nicely why their question is outdated. That kind of approach would be helpful, short rude responses are not. Commented Apr 27, 2012 at 21:24
  • 1
    Again, I suspect based on your comment that you would trend towards the helpful response, but I'm surprised at the rudeness of some veteran users and the celebration of their unproductive snark (via uprating). Commented Apr 27, 2012 at 21:25
  • 3
    @Jason - your first comment proves the need to ask. It hurts your case. We need to ask so we know whether to just accept the string constraint or point that physics student to the string STL type as a better practice. The point is that knowing whether or not a question is for homework legitimately changes the answer we provide. The inability to do that would result in lower-quality answers. Commented Apr 27, 2012 at 21:38
  • 1
    @JoelCoehoorn Of course, but my point is not to dissuade from asking the question. It's to be selective AND to ask in a productive fashion, when you do ask. Read my full post and you will realize this. Surely you're not recommending non-helpful/harassing posts? Commented Apr 27, 2012 at 21:51
  • 2
    @JoelCoehoorn And in regards to it weakening my case, if you read my example I wasn't doing anything non-standard that should have provoked such a response (as in your scenario above). Again, not asking to reduce helpful, productive asking of the question, suggesting that we don't ask it in an unjustified, unhelpful way or celebrate people doing as such. Commented Apr 27, 2012 at 21:59

It is a valid question to ask. Consider the following: I recently saw a post asking how to parse a particular JSON string. My answer depends upon the OP's constraints. That is, if this is a work project, I would advise using a 3rd-party library - no sense in re-inventing the wheel. If this is homework however, the expectations are different. That sort of question on a homework assignment often assumes that it is on the student to develop the algorithm. So I posted the following comment:

What are your constraints? Can you use a 3rd-party library? Or is this a homework assignment where you are expected to code the parsing yourself?

No malice intended.

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