The problem with homework questions

I came upon what is probably the laziest homework question ever asked on Stack Overflow recently. Instead of typing a question, the user just uploaded a scan of their textbook to a file hosting site and asked a question that pointed to the link. You can see it here if you have 10k+ reputation on Stack Overflow.

It’s also conceivable that the student was trying to evade their teacher running searches on Stack Overflow to find students getting other people to do their homework for them. I suspect both.

Homework has always been a problematic tag, way beyond it being a meta tag. It’s a problem because:

  • Almost every homework question is way too localized
  • Many of our users end up providing full working code instead of just some ‘help’
  • It is used by many students that are too lazy to learn, often successfully
  • It is one of the sources of DMCA noise that Stack Exchange receives
  • It contains lots of questions that could be solved with a simple search, which causes angst in our community
  • Sometimes dozens or more students working on the same assignment ask the same question at once, which can cause serious disruptions
  • It might not always be homework. Some users add the tag to extremely basic questions
  • When ‘just help’ is provided, the answers become deliberately sub par to other answers on Stack Overflow

There’s no single query to illustrate every point I’m stating, however this one will give you a good starting point to explore. That incarnation is the latest, where I wanted to see if some of the smellier questions might have remained open.

Elaborating on the last bullet a bit more, if you find a question on Stack Overflow, you’re probably expecting to find some answers that have working code. That is, after all what our brand suggests. It seems a bit counter productive to encourage people to deliberately work harder to post less quality answers based solely on a tag, since homework questions should not be outright answered with working code that could be handed in.

That being said, I don’t want to ban homework questions from Stack Overflow. I think it’s our responsibility as accomplished programmers to mentor younger programmers, to the best of our time and ability. What I’m considering is a proposal to change the requirements for homework questions a bit. The following is more or less a brain dump, which is why you’re reading this here instead of Meta.

Homework questions should include School, Teacher and Course

This serves several benefits. It allows our community to quickly realize when we’re dealing with a large class of students all working on the same assignment, instead of ascribing the behavior to the malice of a single user. It also lets us quickly identify the proper duplicate when this happens.

This also establishes a contract of honesty. A teacher can easily see when a student received help from Stack Overflow, and possibly help the student more based on the content of the question. Yes, it is up to the question author to be honest regarding the details, however we have a very resourceful community that knows how to use Google.

Verbatim copies of assignments are not acceptable

A student should paraphrase the assignment, not just paste it into the question. This partly solves the copyright issue and serves brevity. Additionally, only the problematic part of the assignment should be posted, which lets several students working on the same assignment ask different questions independently. For instance, “Part of my assignment requires me to implement a doubly linked list that is searchable in [time complexity]“.

Homework questions must show admirable effort and be helpful to future visitors

To answer a homework question, we need to be sure that we aren’t enabling someone to be lazy. We expect a degree of effort to be present in every good Stack Overflow question, but I think we should hold homework questions against a higher level of scrutiny.

Should we find sufficient effort in a question, we also need to make sure that it isn’t categorically too localized. It has to be useful to someone other than the OP.

In conclusion, I’d suggest closing any question that doesn’t meet the above guidelines as too localized as soon as possible, and usher it out the door to a speedy deletion.

Comments are appreciated (markdown works in comments).

  1. There are some caveats I did not see with this. The first one is, a student can easily become a victim of someone posting a complete and usable answer. While this was always possible, this change would make that possibility substantially less remote.

    A better idea would be to have the student put the course name, school, etc in their profile, especially when teachers instruct students to use Stack Overflow as a resource. That would fix one of the issues, which is lots of students working on the same thing at the same time being mistaken for one person.

  2. Another aside, the reason I’m not posting this on Meta (yet) is because there is no practical way to enforce it. Code changes centered around a tag are, for lack of a better word, dumb.

    I posted this just to get my thoughts on the matter in a convenient place, mostly to stop repeating myself while conversing with other moderators and users.

  3. How about a Stack Exchange site focused on mentoring technical-oriented students?

Leave a Comment