The accepted answer on this question is our homework policy, adopted by a community poll.

The poll rules and outcome are retained below for historical purposes.


Below, you will find three proposed policies regarding homework questions. Please upvote the one(s) you agree with and downvote the one(s) you disagree with (or don't vote if you're ambivalent or indifferent).

The voting period runs for 1 week, until Thursday, July 5, 2012 at 23:59:59 GMT. After that:

  • If the dominant option has a score of at least 5 and at least 2 more than the next contender, that policy will be adopted.
  • Otherwise, the moderators will meet and decide on a provisional policy, which will last until meta participation is sufficient to achieve a consensual improvement.



  • Raphael's proposal: 10 (+14/-4)
  • David Lewis's proposal: 7 (+10/-3)
  • Patrick87's/Gilles's proposal: 2 (+4/-2)

Since Raphael's proposal has a score of at least 5, and has at least 2 more votes than the next runner-up, this proposal is adopted, effective immediately.

  • $\begingroup$ Moderator notice: this thread represents the poll that led to the present policy and has been archived. If you wish to reopen the subject, open a new meta thread and expose why you wish the policy to change. $\endgroup$ – Gilles 'SO- stop being evil' Feb 6 '13 at 10:39


We do not try to decide which questions are homework, and we don't use a special tag. Users that want to receive hints rather than full answers should say so, and answerers should honor such requests (by not posting details or hiding them in spoiler tags). Other than that, the usual quality control applies.


All users should be aware that askers might use cs.SE to cheat and are asked to act responsibly (e.g. by not answering, answering after a delay or providing only hints) if they suspect a question is a mere restatement of a homework exercise without own effort.


We have no way of identifying homework questions reliably and in general (with notable exceptions). Therefore, we have to take what users post at face value. However, from a teaching point-of-view, it is often more helpful to a student to be led to an answer instead of told the answer. That is why we should work with helpful hints rather than detailed answers where appropriate.

has no use given such a policy.

On the other hand, we want to prevent students from exploiting cs.SE to do their homework (i.e. cheat the system and themselves), as that would not help them and might gain the site a bad reputation among teachers. Most homework-dump-style questions should be dealt with by usual quality-control, but that response might come with a delay or, in special cases, never. In these cases, it is up to the users to decide how to act.


Raphael's proposal


(Note: if adopted, references to mathematics and Math.SE shall be adapted to computer science and CS.SE.)


Can I ask a homework question here?

There are actually two factors involved here, one is on your end, and one over here on this website.

As a general rule, we do not discourage any specific category of questions, as long as it is mathematical. But please do make an effort to search through the list of previously asked questions. In our experience homework questions are usually not very imaginative, and tend to fall in one of the abstract categories of commonly asked questions. We will close duplicate questions, especially if they are of homework type.

On the other hand, whether your learning institution (middle school, high school, college, etc.) and your teacher or professor allows you to consult other people, or to post the exact question on the internet, is something that is usually addressed by your institution's honor code or rules and regulations, and any specific class policies. You should ask your teacher whether asking a homework question here is appropriate before posting your question.

How do I ask a homework question on this website?

Please use the homework tag. This serves several purposes: the most important of which is to let the answerer know to give an answer that more clearly explains the underlying concepts. In other words, we believe in the "teach a man to fish" philosophy.

Also, please put some work into formulating your question. Please do not just copy and paste the exact question text from your homework sheet. In particular, when you are asking for help, writing in imperative mode ("Show that...", "Compute...", or "Prove or find a counterexample: ...") is at the very least impolite: you are, after all, trying to ask a question, not give an assignment. It also turns many people off.

If you feel that it is somehow just so much more straightforward to copy and paste, then it is generally good real world advice to both quote the question (because you are copying after all) and give a reference to the source (so that others can refer to the context of the question). You should also volunteer all relevant information (see next section). It is a waste of everybody's time if someone has to ask for what you should explicitly have given.

What information should I include in a question about homework?

The following are some things that may help your question get better answers, or at least answer more tailored to your situation.

  • The context. What kind of course it is, what textbook you use. It wouldn't help you if someone gives an answer using some sophisticated, high-powered machinery that you have never seen before. (An example would be asking for help about a step that is used to prove a big theorem in the textbook, and receiving an answer using said big theorem.)
  • All the definitions. If you are asking about a question that is more advanced than basic college-level calculus, then you should consider including the definitions. A lot of homework questions are assigned to familiarize you with the definitions used in the course. For many objects in mathematics there are several equivalent definitions. What needs to be proven when starting from one set of definitions may actually be a trivial consequence in a different set of definitions and vice versa. It is important that you let us know what framework in which you work so our answers can properly address the question.
  • Show your work. You should definitely include any partial work you have done. This will help bolster your claim that you are not just coming here asking other people to do your homework for you, and it will help the answerers to give more clinical responses. Showing your work will help us gauge where you are having problems: if it is a technical thing near the end, a short to the point answer will suffice; if it is some fundamental problem with understanding the subject, we will then write a longer, more detailed response. It will also prevent people from spending a lot of time going over ground that you have already covered or understand well already.

Why don't you provide a complete answer to my question?

We've had another discussion from the point of view of the answerer, and you should see that for a more complete discussion. To quote the accepted answer in that thread, we feel that

Providing an answer that doesn't help a student learn is not in the student's own best interest, and if a solution complete enough to be copied verbatim and handed in is given immediately, it will encourage more people to use the site as a free homework service. In the spirit of creating a lasting resource of mathematical knowledge, you may come back after a suitable amount of time and edit your response to include a more complete answer. Or even better, the student can post his own correct answer!


This is the current policy on our sister site Mathematics Stack Exchange.


Proposed by David Lewis with the following endorsement:

I vote for the Math Area policy. As a former teacher, I am uncomfortable without at least a policy that encourages students to mark their questions as homework and responders to answer such questions with hints rather than fully worked out solutions. I know there are many problems with such a policy, but I'd rather not just capitulate in the face of them and open things up totally for homework cheating (for that's what it is). At least if there is a policy in place, some if not most of the honest folks will do the right thing. Without such a policy, honest folks are penalized.

  • $\begingroup$ I don't like the policy because of the neverending struggle marking homework causes, but there is some good general advice in there we might want to copy in any case. $\endgroup$ – Raphael Jun 29 '12 at 12:39
  • 1
    $\begingroup$ I like this policy because it is the same for the sites I visit, and I like the consistency. $\endgroup$ – Aryabhata Jul 3 '12 at 19:36
  • $\begingroup$ Please use the homework tag. This serves several purposes: the most important of which is to let the answerer know to give an answer that more clearly explains the underlying concepts. In other words, we believe in the "teach a man to fish" philosophy. So unless there's a meta tag, poorly explained answers are acceptable? If the user needs help with concepts in an answer it might even be a good idea to post another question about those concepts. $\endgroup$ – Matthew Read Jul 4 '12 at 21:35
  • $\begingroup$ @MatthewRead: No. Users can state in the question text that they prefer hints and/or need details. Usually, the way the question if phrased also allows to estimate the asker's level. Even though, follow-up questions are a good tool. $\endgroup$ – Raphael Jul 5 '12 at 6:50
  • $\begingroup$ For reference: math.SE no longer uses the homework tag, by overwhelming community majority. $\endgroup$ – Raphael Jul 30 '14 at 15:12


Homework questions are not treated differently.


This way homework questions do not get any special treatment, they are subject to the usual quality control rules. We do not need to argue over whether a question is homework or not, and we can get rid of the meaningless tag. We may have guidelines advising how to post a good homework question and how to answer homework questions, but these will not be binding rules.


Patrick87's proposal and Gilles's proposal (merged due to similarity)


You must log in to answer this question.

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