What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

This question already has an answer here:

How does this website need to change in order to discourage the endless 'I'm a newbie help me out, here's my homework'?

Also, how do we discourage people from 'here's the solution, give me some points now' kind of answers?

EDIT - context: Simple Nested Loop Program

share|improve this question

migrated from stackoverflow.com Oct 24 '13 at 3:43

This question came from our site for professional and enthusiast programmers.

marked as duplicate by gnat, hims056, Azik, Aziz Shaikh, Hugo Dozois Oct 31 '13 at 13:07

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

11  
You can never "solve" this problem. Just accept that it occurs and understand that quite a few of these newbies will eventually learn to fly on their own and will go on to become stellar programmers. –  Hovercraft Full Of Eels Oct 24 '13 at 3:45
3  
You can't force people to not answer question because they were poorly written. There will always be homework questions that make their way into the network. If you don't like it, vote-to-close and therefore poll from the rest of the community. –  Werner Oct 24 '13 at 3:45
10  
Just an idea: when people post a homework question, they should include the email address of their professor, and SO should send the prof a link to the thread. Then, the prof can judge whether the help received is tantamount to cheating... Transparency is usually a good thing - if your behavior doesn't stand up to the light of day, perhaps you should consider if you need to adjust it. "sunlight is a great disinfectant" is the phrase, I believe. –  Floris Oct 24 '13 at 4:00
    
Now that is an EXCELLENT idea imo –  iluxa Oct 24 '13 at 4:05
1  
If you are stuck at work, and you didn't have SO, would you sit there and stew over the problem or would you put your hand up and share the love? I know this is stretching it a bit but isn't the point of SO to be an extension of your team? Or your actual team if you are alone. –  griegs Oct 24 '13 at 4:26
    
@griegs - This question is not about people working on teams. It is about discouraging newb questions that show no effort. I think we all agree with you about how this site should be used... But it's usually pretty obvious when somebody is just being lazy and abusing (and polluting) the site. –  jahroy Oct 24 '13 at 4:31
    
@jahroy, ok, fair point. Think i may have been getting carried away there for a bit. Cheers. –  griegs Oct 24 '13 at 4:55
2  
comment such questions suggesting as recommended reading: Open letter to students with homework problems –  gnat Oct 24 '13 at 7:38

6 Answers 6

up vote 18 down vote accepted

Why do people not do their own homework?

  1. They're lazy or they aren't interested in learning
  2. Their behavior is almost always reinforced by copy/paste answers

How do we discourage people from answering?

That seems almost impossible.

I think we should try to discourage copy/paste answers to useless/duplicate questions that show no effort.

Maybe we could reward less (or no) reputation for answers to closed questions.

Or maybe answers to upvoted questions should be worth more points.

Another way is to encourage quality answers that provide more than just a snippet of code to copy/paste.

And... If a question shows no effort, vote to close it.

My approach:

If a question smells like it came from a lazy student (but has potential value to others), I try to add a small twist to my answer that prevents the OP from copy/pasting it.

You can usually find a way to provide an answer that will help anybody who wants to understand and/or learn, but will not help those who are trying to avoid learning.

Sometimes all you have to do is break the important logic out into a sub-routine or a simple class. Your answer will still be clear to future visitors, but the OP will have to understand the most basic principles to finish his homework. (he might even learn something!)

Note that I only do this when it's obvious that the site is being used to mindlessly complete homework. When someone asks a high quality question, the best thing to do is give them the exact answer they're looking for.

The other thing I try to do is to steer students and newbs towards the right tools to help them teach themselves. For Java questions, this means pointing them towards the API documentation and encouraging them to look there before asking a question.

Learning how, when, and where to consult the documentation is one of the most valuable things you can learn as a programmer.

share|improve this answer
    
+1 I think it is a good answer. Don't know why people downvote. I used to do both and have to admit I was such kind of person :) –  Terry Li Oct 24 '13 at 4:09
    
Rep earned from answers to questions that end up being deleted already gets taken away. Closed questions can be reopened, but are deleted under certain conditions. –  dandan78 Oct 24 '13 at 7:01
    
@dandan78: Rep earned from a closed as dup. remains though, and the dupe won't be deleted (for good reason). That I think is a key factor. –  George Duckett Oct 24 '13 at 8:00
    
I like the idea of a "little Easter Egg of unusability". Alternatively, you could add something so abstruse that it will be clear to the professor that the OP didn't think of it by himself (in other words, that he got help). Or how about using variable names so the first character in successive lines spells "C-H-E-A-T"... You are getting my creative juices going! –  Floris Oct 24 '13 at 18:19

When you "help" people with their homework, you are not really helping them (in the sense that they don't learn very much if they copy someone else's answer). But it is their responsibility - they asked the question. As a person volunteering to answer, you are not responsible for their abuse of the site - and possible violation of their institutions academic code.

I say "let them have it". Live and let live - or vote to close because these questions are often very localized, and frequently poorly framed / researched / "show no effort". All of which are already valid reasons. So vote to close, and don't feed the trolls.

share|improve this answer
    
I like your point. It's their responsibility to ask, and not ours to judge. –  paddy Oct 24 '13 at 4:12
1  
Problem is, they gonna graduate and get employed into a cubicle next to yours... –  iluxa Oct 24 '13 at 4:13
    
Isn't that what an interview process is all about? Sorry @iluxa, i couldn't help it. :) –  griegs Oct 24 '13 at 4:23
    
Cast a vote to close ... And add more work to the vote-to-close queue. By coming and asking help from us, they are treating us as partners, or coworkers. We should expect from them the same as we expect from our actual, real life partners and coworkers. That is also something they have to learn: how to get help. So if you feel that they are not doing enough efforts, you should not do it for them, but you should not ignore them either. Tell them to do their job, then come back to ask help later if it is still pertinent. –  jwatkins Oct 24 '13 at 17:58
    
"You are not responsible for their abuse of the site" if you make the abuse worthwhile to the abuser, you encourage further abuse, by indicating to future potential abusers that abuse will work. –  Raedwald Oct 26 '13 at 8:49
1  
"... or vote to close" - here's exactly where the problem is. We no longer have two very useful reasons to close: "demonstrate effort" and "provide code sample/SSCCE". The remaining reasons do not match this situation well. I read other discussions here and it seems that we supposed either answer these "I was given a task but have no idea what's it about" or just ignore them. So it seems that SO community finds some benefit in becoming "do my homework for me" kind of place. –  PM 77-1 Jan 18 at 16:12

Why would you want to discourage the "Here's the answer" answer?

Surely the whole point of SO is to provide answers to real world questions. Sure if you teach a person how to fish... but more often than not the OP has done their research and they are honestly stuck and having someone give the answer is exactly what was needed.

The amount of times I've gotten the "exact" answer I was looking for is enormous and it's been a huge time saver for me and my team.

If however you are referring specifically to answers to homework questions then you know, I'm not sure we should be discouraging them either.

You can tell the person that just doesn't get it, or that hasn't put the effort in, but sometimes this is legit.

For example, here in Australia if you do a degree in graphics design for games, a compulsory module in some institutions is programming in Java for a term. The kind of problems you are asked to solve are easy by our standards, but for someone who just want's to draw a cool character, they are not only beyond them but also totally pointless.

So I think you just need to accept that not everyone on SO has the in-depth knowledge of development that most of us have and that sometimes they are there because they are honestly stuck.

share|improve this answer
    
Completely agree with you! –  Floris Oct 24 '13 at 3:52
4  
I'm willing to give 20% when they done the other 80. More often than not though, a user will just give out a complete answer straight out, no effort on behalf of the poster AT ALL - and he's surely coming back for more! –  iluxa Oct 24 '13 at 3:54
    
I agree, assuming this doesn't apply to copy/paste homework questions. –  Jamal Oct 24 '13 at 3:56
    
At the risk of getting a downvote, who are you to moralise the OP? What evidence do you have that they "get" it? How do you know they are there because they are a developer as opposed to someone forced into that stream due to a curriculum that is inflexible? –  griegs Oct 24 '13 at 3:57
4  
It seems weird to rationalize laziness and/or cheating by claiming that a curriculum is inflexible... If you want the degree, follow the curriculum and pass the classes. Curriculum flexibility doesn't seem relevant to the OP's question. –  jahroy Oct 24 '13 at 4:01
1  
I helped some poor guy pass his graphics course because there was a Java course included in the degree. It was an utterly pointless course that taught him nothing. You tell me why this guy should be forced to learn even 1% of Java when for the rest of his career he'll never touch it again? –  griegs Oct 24 '13 at 4:03
    
That seems like an absurd topic to discuss on this site. –  jahroy Oct 24 '13 at 4:08
2  
@griegs, I think you are bringing in a non-sequitur. Questions are supposed to show effort. Not showing effort diminishes the value of the community as it creates poor questions, and drives away good answerers. The reason as to why people ask lazy questions is irrelevant. –  jmac Oct 24 '13 at 4:52
    
@jmac, yeah i get that. i think i may just have been getting carried away. cheers –  griegs Oct 24 '13 at 4:56
1  
i agree with this. i always give my 100 percent in doing things but sometimes you really need help, even though it is too localized. –  Dolor Sit Amet Oct 24 '13 at 5:26

I'd like to add my two-cents worth.

I do not think we should scold those who ask questions like those described, nor for answers that only give the answer. I propose that we keep doing what works, and lead by example. Add a comment on those questions and give them some tips. Also, (moreso for Stack Overflow than any other site), give them the tools or knowledge to solve their own task. This, I think, is the best way to go.

TLDR; Don't punish, teach.

share|improve this answer
1  
Agree. I usually give "hint like questions" when it smells like homework, then see someone else give the "no brains required, just copy" answer. –  Floris Oct 24 '13 at 4:05
2  
@Floris Unfortunately in those situations, you often won't get accepted. However, nearly 100% of the time you will get more upvotes. –  Prof Pickle Oct 24 '13 at 4:06
    
Yes - I have noticed that. I prefer to do the right thing over getting the little check mark... –  Floris Oct 24 '13 at 4:07
2  
Great answer. Another thing you can do is to provide an answer that demonstrates the concept perfectly, but with a minor twist that foils the OP's attempt to find an answer without learning. In other words, give an answer that will help anybody who wants to understand, but won't help a person who tries to copy/paste the code without trying to read or understand it. –  jahroy Oct 24 '13 at 4:09
1  
Don't punish the community by leaving poor questions open. This is what [On Hold] is for. Vote to close. Leave a comment if you like. If the asker cares they can fix the issue by reading through the documentation the close reason links to. –  jmac Oct 24 '13 at 4:54

If your question is on topic for the site, well written (for your definition of "well"), and answerable, and I am inclined to do so, I will answer the question, regardless of if it's a homework question or not.

Discouraging users from asking these questions, as tempting as it may be, isn't entirely in the spirit of the community. I can live with your question, even if it's a homework question, if it's on topic for the site.

Discouraging users from just blatantly posting the answer, as tempting as it may be, is one of those things I used to do, but quickly discovered that it wasn't the correct approach to the "problem". For most students looking to cheat, the problem readily takes care of itself; for others, they're only hurting and depriving themselves of the most important facet of software engineering: problem solving.

I don't see a problem with homework questions. Poor quality questions are closed and deleted. High quality questions rise to the top. The system works. I don't have a problem with it.

share|improve this answer

How to discourage lazy homework questions and their answers?

Just don't treat homework questions different than any other questions. If question is fit for Q&A, it's absolutely OK it's homework question.

How to discourage lazy homework questions and their answers?

If the question is too elementary, close is as off-topic: lack of research. If it's give-me-de-kodez-questions, close it, downvote, and leave a comment why such questions are not welcomed here.

If someone seems to be persistent in asking such questions, flag

How to discourage lazy homework questions and their answers?

Downvote to make deletion easier. Flag for deletion if it's not deleted automatically. If the question dissapear, so will the answers, and rep-hunters will eventually learn to feast somewhere else.

share|improve this answer
    
Love the 3 answers depending on the emphasis. And "rep-hunters will eventually learn to feast somewhere else" elicited an image of vultures circling fresh roadkill. Thanks for that! –  Floris Oct 24 '13 at 18:14

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