Applying the tag or asking a whether a question is homework can result in some hurt feelings. I was thinking it may be helpful to document some of the characteristics of questions that lead some to conclude that a question is homework, so others can avoid them.

  • 1
    It is not about hurt-feeling. It is about the homework-inquisition done by some who are a little too fanatic about that issue and about the hurt-feelings of people who are not posting homework yet getting attacked. What about self-learners? How do you "conclude that a question is homework" because a self-learner imposed himself constraints? Are you talking about automatically flagging "homework" questions (with all the false positive that it shall inevitably bring) just so that people stop commenting "Is this homework?"? What do you want to use more rules for? Commented Apr 28, 2012 at 17:19
  • What does this have to do with Stack Exchange? Commented Apr 28, 2012 at 18:35
  • 1
    @Gilles See faq-proposed.
    – apaderno
    Commented Apr 28, 2012 at 18:45
  • 1
    @kiamlaluno I've seen that. Why on earth would we want this to be part of the Stack Exchange documentation? Commented Apr 28, 2012 at 18:46
  • @Gilles I don't think there is the need of a FAQ entry about what it is wrong with homework questions, simply for the fact there isn't anything written in stone about that. Still, the question is not off-topic. If it's not a good idea to make it a faq, it will not be made, but everybody can propose a new FAQ entry.
    – apaderno
    Commented Apr 28, 2012 at 18:52
  • 2
    What use is this FAQ, seriously? If the question is homework, the OP should say so. If they don't and you are suspicious, just ask (most new users aren't aware there's a "homework tag" but will say it's an assignment in the post itself or comments). Is there really a call to help identify possible homework questions to the extent that we need an FAQ? Who is this supposed to help?
    – user159834
    Commented Apr 28, 2012 at 22:45
  • The purpose is that some people see to bristle when it is suggested that their question may be homework. If they would like to avoid this, it might be nice to know what some of the triggers are so they can avoid them or understand why people might think their questions are homework.
    – JohnMcG
    Commented Apr 30, 2012 at 13:58
  • I think homework plays out differently for different children. For some it is okay and may even help. For others, it is a disaster. I think the only way to resolve this is to vest authority with parents, not with teachers. Allow teachers to assign homework, but give parents the final say on what happens in their homes. If the parent feels the homework is hurting the child, then the parents needs to be able to modify or excuse it. www.thehomeworktrap.com.
    – user184788
    Commented May 1, 2012 at 21:46

4 Answers 4


Arbitrary Constraints

The question includes some arbitrary constraints that are unlikely to be present in a real-world problem. For example, the question declares that certain features of a programming language are out-of-bounds despite being well-known, widely-available, and/or the trivial way to solve the problem.


Imperative Sentences And Tone

The general tone of Stack Overflow questions is that of someone asking for help from a colleague. Homework assignments tend to include imperative statements demanding some feature of the work. "Your solution must execute in O(n) time" sounds like a homework assignment. "I need to get this to run in linear time." sounds more like a question, and is less likely to be deemed homework.


Contrived Problems

It is rare for a real-world programmer to face problems like creating a class hierarchy for the animal kingdom or creating a common data structure from scratch (though this would be a valid form of self-study). Most developers were once students themselves; some have even taught classes, and there is a limited menu of standard assignments, which we will generally recognize.


Reinventing Wheels

How often do you need to implement quicksort or linked lists from scratch? Most languages offer standard implementations of standard algorithms and structures. Implementing such things yourself is a fine way to learn how they work, and so they're often assigned as homework problems. In the real world, we don't write such code ourselves very often.

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