I am not a student, but I know other avenues have had problems in the past with students trying to get others to do their work for them. I am sure most of the people on this site right now would not give a student the code they need to complete the assignment, but would help them out so that they can do the assignment themselves. What is the official policy on this though?
I spend a lot of time on other programming forums and it seems most people agree with the policy "no homework solutions; nudges welcome".
Basically, if the student posts the entire assignment then asks for a solution, it's the same thing as a non-student posting, "My boss wants a blog engine in two months. It has to be in PHP and work just like Wordpress. Please email me the codes at ..." It's going to get ignored or maybe ridiculed.
However, I've seen plenty of students post in a form like: "Here's the assignment. I've done these parts posts sample code. I'm having a little bit of trouble with some task. The documentation says something but it's really not clicking. I tried sample code but for some reason unexpected results happen. Could someone tell me what I'm doing wrong?"
I like to answer these kinds of questions, and the fun is answering them in a way that leads the student to the answer without writing any of the code for them. The student here is really trying, and got halfway by himself before getting in too deep. Gentle nudges are awesome to struggling students; it's when you write the assignment for them that things go wrong.
(late edit): For particularly difficult problems, I personally like to show the student a full solution to a similar but different problem. For example, it's easiest to explain sorting algorithms with actual code. If the student's problem is sorting names in a particular order, I might post a solution for sorting integers. You'd be surprised how many people can't go from one to the other, since it requires more effort than a copy and paste.
My two cents...I agree with the others, and I have seen this come up in other places where there seems to be a bias and distrust against students, which is understandable I think, but it raises a few questions when considering such a "policy"...
1) How do you know it's a student asking for a homework assignment? Granted, in some cases, it could be obvious, but some assignments (like a database course) could easily be seen as a real-world problem.
2) If a student is asking for help on a specific problem (very specific), what makes them any different than any of us? They are asking for help on something just like we are. Aren't we just trying to learn too? Solve a problem too? There will always be short-cut takers out there who just copy/paste code and don't take care to learn, but whose to say some pros are any different!!??
3) Can't one argue that if a student is reaching out to the net and using resources like StackOverflow,that they are "acting" as pros? Seems to me that's more real-world than when I was in college and the Internet was just a little toddler.
4) How do you measure intent in these cases?
Again, I agree with the others, a case-by-case assessment is sensible, but it's an interesting question :) Cheers.
I would answer someone if they had a specific question where it showed that they have done some work themselves and were just stuck on something.
For example, if someone said "I've got a homework problem I'm working on and I've done X and Y but now I'm not sure how to handle Z" then I'd be likely to answer.
If someone shows up saying "My homework is to solve X problem, someone please give me the solution" then I would ignore them and give them a down vote.
I've asked beginner questions myself (and there is not that much difference between a beginner question and a homework question really), and my own personal policy is: As long as it's a specific question, I'll be willing to answer it.
So stuff like "Here is the assignment, it needs to do X, Y, Z" is ignored by me, but if the person specifically asks something about X, I have no problem answering.
At the end of the day, I don't care if it's homework or if it's business code and I don't care if it's beginner or pro level. I care if it is a real and specific question. Because in order to ask a specific question, the author already needed to have some understanding about the task.
I noticed that there were alot of concept and many more beginner questions being answered when school started about 2 weeks ago (around here, at least).
I would like to think that questions pertaining to homework would be pretty easy to sniff out. For example, if someone asked "How to concatenate Strings in Java" I would be inclined to think that they had gotten here from google and would likely take our code on blind faith. Questions like that do not lend themselves to 'pointers' or 'tips' per se.
However, if someone was working on (for example, a previous homework of mine) writing their own malloc, and wanted to know how to bump up the pointers for each successive call, that would be fairly easy to give 'pointers' and 'tips' on.