We are about to switch to a new forum software. Until then we have removed the registration on this forum.
When I (along with several others) was invited to be a moderator on this site it was to combat a severe spate of spamming which was adversely affecting the site usability. For a long time the only thing I had to do was delete the spam posts and ban the spammer.
Since then Processing has become used increasingly in education and many posts are started by students seeking help. Unless the student is honest and forthright it is not always obvious that they are talking about some academic piece of work. In some cases the student is a blatant cheat and is asking for and even offering payment for complete solutions (see this post)
I think it is time for the forum members (not just moderators) to decide on what should be done in these situations and create a set of guidelines for moderators to follow?
Comments
A little about me, so you see where I'm coming from: I'm a moderator on 2 of the "big" Java forums, and a pretty active member on several other forums as well as StackOverflow. I'm also hoping to become more officially involved in the education side of things, and I truly believe that Processing is the perfect way to start students off, since it then transitions pretty easily into either JavaScript or Java, which then transition pretty easily into other stuff. Point being, I honestly believe in Processing as an educational tool in classrooms, and I'm working very hard (I'm about to get a master's degree) to dedicate my life to exactly that- which is why I have such strong opinions about plagiarism on this forum.
Anyway, I've said this before: every other forum I participate in has an almost zero-tolerance policy about plagiarism and spoon-feeding. For more info on why, you can view an article I wrote here.
Sure, it's fuzzy and complicated: how do you tell whether somebody is asking a genuine question or just trying to get help?
But I don't think the onus is on the people asking the question: the onus is on the people answering them. We can probably all agree that blatant plagiarism (agreeing to do homework for money) is wrong, and I would argue that users who do that should be banned.
But it's a bit more complicated than that: I would also argue that providing code without any explanation is not helping, and in most cases, actually hurts the person asking the question- learning how to program is not about the syntax, it's about the process of breaking a problem down into smaller pieces and working through those pieces one at a time by reading through documentation and looking at examples.
If somebody asks "how do I do XYZ?", it's not helpful to just plop down a bunch of code. You've just robbed the person of the process of problem solving, which is usually what homework is actually trying to teach. What happens when the person next has to do something more complicated? If you had taught them the process, they would be able to work it out themselves- but since you just dumped down the syntax, you've taken that away from them.
So, where is the line drawn? I think the line is drawn between answers that help with the process and answers that simply dump syntax. The syntax is the easiest part.
For simple questions that just forgot a semicolon or want clarification on the syntax behind arrays, okay, sure, throw them some syntax. But generally, questions should be answered with examples, not full-code solutions. Instead of saying "this is how you do XYZ", you should say "I'd break it down into X and Y and Z: which one of those are you stuck on? What have you got so far?" That way the person works through the process.
What does this mean for moderators? I dunno, it's a complicated and fuzzy question, especially considering Processing's more "artistic" leanings. But I would argue that users who actively plagiarize should be pretty much instantly banned. I would further argue that users who simply dump syntax should be warned, and then banned if they continue robbing people of the process of learning problem solving. It would be nice if the forum software had a way to keep track of warnings, but I think we all know a few of the repeat offenders already.
We've seen posts from teachers begging us to take plagiarism more seriously, and I'd love for that to become a reality.
It's a hard problem, but I'd really love to see Processing taken more seriously as an educational tool. But that won't happen if the official Processing forum is known as a place where plagiarism is okay. Like Jeff Atwood said: if you are unwilling to moderate your online community, you don't deserve to have an online community.
I am not a moderator, but I think that if someone just gives the code, they will be given a warning, but then if they keep doing it, they will be suspended for a bit. Also, to help, you can make a rule that homework questions must be labeled as homework questions, so only moderators can answer, because they will know to answer the question by guiding the person. So, random people can not just answer. Hopefully this helps.
I think there should be a way for teachers to check if there are parts of code of their students somwhere on the internet and if it is someone elses work it may be not accepted. On the other hand it should be responsibility of community members to understand if they are helping somebody or just making his job instead. The plagiarism should not be tolerated by moderators, I'm sure forum rules may be updated accordingly.
My vote as a Moderator would be to do any of the following depending on the situation:
Tell users asking for answers that it is not allowed on this forum, that they must instead seek help with specific questions, and that they must provide attempt code
Close threads that are blatantly out of line (like the one quark posted in the first comment of this thread) and post a link to rules about plagiarism right before closing
Delete comments anyone posts that directly answer these kinds of threads
Discourage threads / comments that ask for more help by email
And then we've got threads like this one: http://forum.processing.org/two/discussion/comment/39515/#Comment_39515
Notice that the OP asks how to find primes in a for loop, which is a common homework assignment. GoToLoop then posts external links to articles that do exactly that. Something doesn't feel right about that to me.
Sure, you can find these articles just by googling "java for loop prime numbers", but that's exactly the point- is it a high-quality answer to simply do the googling for the person? Is there a better way to answer that moderators should be encouraging? How should they encourage that? What should they do when that encouragement is ignored?
I would argue that it would have been more helpful to ask the user what they're confused about, or at the very least- to tell them to do the googling themselves. Particular users seem to link to full-code solutions on external sites a lot (possibly because of the last time we all got upset about the plagiarism on this forum), but is this forum meant as a "I'll do your googling for you" service? Again, I don't think that helps anybody- people have to learn how to do their own research.
From a moderator perspective, you have to combat two things: low-quality questions, and low-quality answers. Look at StackOverflow: obvious homework questions, or questions that have not shown any research, are downvoted to oblivion, and those questions are deleted within minutes of being posted. Other forums I'm involved with will delete spoon-fed answers within minutes of them being posted.
This forum isn't as large as StackOverflow, so it's not quite that simple, but the point is I think we need to be a little bit less "forgiving" when it comes to both low-quality questions and low-quality answers.
Even just a little "hey UserXYZ, that kind of answer isn't really helpful. Try to do ABC next time" would go a long way.
there was this one today too, which was obviously homeworky: http://forum.processing.org/two/discussion/10235/simple-action-methods
as a mod i'm unhappy deleting a thread with answers on it, regardless of whether those are answering questions that shouldn't've been asked.
it does annoy me though.
@koogs Yeah, I'm trying not to pick on anybody, but that user is a pretty reliable "repeat offender" of this kind of thing.
I do understand that, but I think that's exactly the kind of moderator response we need. On the other forums I moderate, our general approach is to edit out the spoon-fed answers (not deleting the thread, just editing the post to remove the spoon-feeding text) and to link the answering user to the above article.
The truth is, we don't really have that many really active users here- maybe around 20? Which is actually pretty close to the other forums I participate in. And of those 20, maybe only 5 or so are guilty of the kind of obvious stuff we're talking about. I think it would go a long way for the moderators to speak to those users directly.
It's not like we have 100 users all scrambling to do people's homework for them. It's really only 2 or 3 users who are really guilty of this stuff.
The other forums I participate in would probably ban these users immediately, but Processing tends to be a little more friendly to novices- which is great and one of the reasons I love it, but it also tends to attract those novices who seem to want to "prove themselves" by doing other people's homework, which is something I think we really need to crack down on.
Hello !
@KevinWorkman
I 'm not a moderator but I used to be one in another forum and to be honnest I'm shocked by what you're suggesting.
You are a teacher and you're thinking about the learning curve of a classical student, it's understandable but very unfair for those who use to learn everything by themselves.
I am one of them. I hated school and used to hate teachers like you - no offense -. I use to spoon-feed and I also use to learn from spoon-feed.
Most of the time, when I ask a question on the forum, what I really want is spoon-feed : I think I have enough experience (> 10 years) to understand how things work just by seeing a piece of working code. When someone wants absolutly to learn me something, he 's actually losing our time (his & mine) because I use to understand by myself from a working code. I always act like that.
Because I use to spoon feed, I'm expecting a spoon feed...It sounds natural to me. If I don't understand the spoon-feed I got, I just ask a question to the spoon-feeder and it's perfect to me.
When I'm searching for a very small particular thing and what I found on internet is only very very very long explanation from the basics.... Pffffff It makes me sick each time... And you would like that every working code will be removed from the forums ? Sounds like hell to me ! :)
"Sure, you can find these articles just by googling "java for loop prime numbers", but that's exactly the point- is it a high-quality answer to simply do the googling for the person?"
You see the forum as an interaction between a single asker and a single answerer but it's not the case actually. Each question is read by almost every member of the forum and will be viewed by many others later - and a lot of them will find the topic from a google search ... -
In the post given by koogs for example, GoToLoop answered to the question. The question & the answer didn't interest me but one line of the code written by GoToLoop did (concerning a loop declaration). If you removed the post for any reason, I never could see how GoToLoop write its loop... Everybody is losing something just because someone think it's not interesting from his very particular point of view.
Of course, if we - moderators / frequent visitor - know the asker is a student, it's different. In that case, I agree with what you said because a student have all the time to learn and he chose to be at school and follow a learning-curve.
But for me and the others who have no diploma in anything or are just a bit more busy than a a teacher/student, we have not always the time to learn how exactly works what our boss/curstomer require from us... When you are blocked at the step #57 on a big project composed by more than 100 step, you really don't care about your learning curve, you just want to sleep at night...
In my opinion, forum are great because there is very different people on it. As you said before, most of the time, we meet always the same 20 people everyday and then it's easy to adjust his answer because you know approximatly the one you're answering. In that scenario, you took some time to understand who is the asker before to delete his question...
"Other forums I'm involved with will delete spoon-fed answers within minutes of them being posted." Sound like fascism to me.
(please excuse my not sot perfect english, it's not my native language) Thanks for reading ! :)
@tlecoz I think you misunderstood my argument.
If a user like you comes with a question like "I tried to do X, expected Y, but got Z instead" then sure, answering with code and an explanation like "Y does this, what you really wanted was ABC instead" is probably fine.
What we're talking about are cases when a user says "how to do XYZ?" and somebody comes along and just plops down code without an explanation. The answer to that question should either be "you start by breaking it down into X, Y, and Z- which one of those are you stuck on?" or "here's a similar process ABC, and this is how I'd do that".
Because like I said, one of the most important things that a programmer needs to learn is the process of problem solving. That's true for students in school, or self-taught students. By just copy-pasting code you find on the internet, you aren't learning. And by just copy-pasting code to answer a question, you aren't teaching, and in fact are hurting the person you're giving the answer to.
It's a lot like helping with math homework- would you say it's okay for somebody to just do somebody else's homework? If a user says "I need to solve math problem XYZ", how should that question be answered?
And the answer of course is that the person answering the question should provide examples, or help break it down into smaller steps- you should never do somebody else's homework for them. Because doing somebody else's homework for them actively hurts their chances of actually learning anything.
(OMG ! you write so fast !!!! )
"Because like I said, one of the most important things that a programmer needs to learn is the process of problem solving. That's true for students in school, or self-taught students. By just copy-pasting code you find on the internet, you aren't learning. And by just copy-pasting code to answer a question, you aren't teaching, and in fact are hurting the person you're giving the answer to."
You are right. But not everybody just copy/paste the code he found on the forum. Some of them does but not all of them. And for thoses who really work by themself, it's unfair.
But I must admit you're right in some cases :)
I'm one of the active members, I think, am I guilty of anything?
I think its simplistic to simply ban someone who just posts code (or links to other posts) in response to questions; but I do agree that this is rarely constructive; particularly if code/links are not well commented or come with no explanation.
Sometimes these are enthusiastic people simply looking for problems to solve. Their intent isn't necessarily altruistic - in fact it's probably a little selfish - but they are at least making some effort to contribute. Banning someone misses the opportunity to guide them towards providing properly useful answers and becoming a positive member of the community.
Conversely I've seen several responses which seem unnecessarily dogmatic ('format your code properly'; 'post a simplified example') even when it's easy enough to see where the OP is going wrong and provide some direction.
Anyway; one suggestion I'd make is - if possible - improve the mechanism for marking a response as an answer. It's currently simplistic and probably counter-productive: if the OP is simply looking for an easy solution to their homework they'll promote a response that doesn't necessarily provide a constructive answer. In fact the OP isn't always best placed to determine which is a useful answer. Whilst I doubt there's enough traffic here for an up/down vote system to work as it does on Stack Overflow; something along those lines would be preferable.
And if nothing else Mods should have the option to remove the 'answer' tag from responses that aren't constructive or don't properly answer the question. It would also help if the answer wasn't promoted to the top of the thread where it often loses context; or breaks the flow.
This is a very good thread and I appreciate it.
I think we should really distinguish between homework and non-homework questions:
I am a mere Hobbyist and sometimes I need a math thing solved and I ask on the forum and I am of course happy about a code solution. Or a formula. I don't need a full code solution. It is part of bigger projects so they are small code parts. I think like tlecoz here. Code Help is ok here.
People on the other hand who need homework help... shouldn't get a full code. They should provide code and get help by text, not by code.
Thoughts
People who ask homework but don't tell about it, PM, offer money, lie about it, should be banned. They'll come back with another nickname but that's ok.
Having said this: We all cheated at school. Be honest. We all had subjects like Latin, French, math we were at times bad at (and very good at other times also). So we cheated. So what. It's simple homework, not a university degree, doctorate or exam. So, yeah, it's nice to have an area where people can cheat for simple tasks. Maybe we help cheating a guy like Steve Jobs, I am sure he cheated sometimes, we help him pass the class and later he will really dive into programming and oop and all, who knows? I have sympathies with the teacher but every teacher knows pupils do cheat. It's part of the game. And school can be oppressive, believe me. I have sympathies with the teacher but every good teacher knows if a pupil wrote his code on his own or not. Just get him in front the class and let him explain the code. I think people in the 7th grade can have a hard time and just need help sometimes. So we should also be able to compromise and give a hand when we feel the person is earnest and working hard and just needs a help.
E.g. look at this: http://forum.processing.org/two/discussion/10646/simple-function-i-m-just-new-to-this-operations#latest - I just flaged _vk post because I think he did too much code.
Best, Chrisir ;-)
Some very good points made. However, being over 80 years old and going on to 104, along with TBI and PSTD - thinking HURTS!! If code is offered as examples, then it is public domain. If it is presented in a forum as an aid to resolve a question, then that too is public domain. Several contributors have included disclaimers and such to allow copying for the learning process. Using such datum for monetary or personal profit defeats the purpose of these forums. It usually comes back to haunt the violator - big time.
Many thanks to the frequent contributors that have helped me and so many others. Will never regain past abilities , but I'll keep on keeping on.
George
Yeah, like I said- the line is blurry, and there isn't a great one-size-fits-all solution. It's a bit like the old "I know it when I see it" adage.
I don't disagree with this, although I will say that people who post full code solutions often do it to "show off" instead of just help people. And what do we do with repeat offenders? There are a few members of this forum I've repeatedly asked to stop offering full code solutions, and they simply ignore me. They don't seem to want to learn to provide useful answers- what should I do in that case?
As far as I know, nobody has actually been banned on this forum, and the problem of academic dishonesty continues. What do you think the moderators should do in cases of repeat offenders?
Besides that, if somebody is just looking for problems to solve- then there are other places on the internet for that. Check out Code Hunt, or Project Euler, or Code Golf.
Please keep in mind that many of us do this for free, in our spare time, or at work "while our code compiles". We answer dozens of questions a day, not just on this forum but often on other forums, StackOverflow, etc. So we don't have time to format your code for you, or to make sure we have properly sized images so your code works, or to go through hundreds of lines of code- especially because none of that has anything to do with the problem.
So we ask you to do a bare minimum before posting- format your code (this is a one-step process), and try narrowing the problem down to as few lines as possible- most of the time, you'll find the error yourself before you post here! After all, shouldn't you make it as easy as possible for people to help you?
Mods already have the ability to remove answer tags- and to add them. But I don't really see how that helps with full code solutions. But I do agree that the answers-moving-to-the-top "feature" is horrible.
But note that the problem is not exactly low quality answers: it's full code solutions, which rob people of the process of solving a problem. That process is very hard to teach, and most of the time it's actually the point of the homework. The syntax is the easy part, which is why full code solutions are so frustrating- by "answering" with full code, you're just doing the easy part! But by providing full code, you've now short-circuited the process of breaking a problem down, going through the documentation, and working on those problems one at a time. That actively harms people trying to get help, and it has no place on a forum- especially the official forums.
The problem is, there isn't a good way to do that. Most people who are asking about homework either don't mention it or actively try to hide that fact.
Again, the problem is: how do we know when somebody is asking about homework but not mentioning it? What should the mods actually do to make this distinction?
Erm... I didn't?
In many cases, the people posting about homework are indeed going for a university degree or studying for an exam. I think that one of the teachers who posted here begging us to stop allowing full-code solutions (and I mean, really think about how pathetic that makes us look) was a professor.
That's not really the problem. The problem is that people often post here in good faith; they actually want to learn how to program. But by offering full code solutions, we're robbing them of that opportunity.
It comes down to a simple question: why are we on this forum? Are we here to actually help people learn how to program, or are we simply a homework service?
If we're here to actually help people learn how to program, then we need to enforce the process of working through a problem. If we're simply a homework service, then I'm going to stop coming here.
Think about it this way: what if we were talking about math homework instead?
You don't teach somebody how to do math by doing their homework for them. In fact, that is considered immoral by most people, and illegal as it pertains to academic dishonesty policies. You teach somebody how to do math by helping them work through the process of solving a problem. You ask questions, or show similar examples, but you don't offer full solutions.
So what makes programming different? The answer is nothing.
And the other kicker is that most other programming forums already punish or ban people for offering full-code solutions, for exactly the above reasons. This is the only forum that seems to encourage full-code solutions, and we've had several teachers post here begging us to stop.
If we want Processing to be taken more seriously as an academic teaching tool, then how can we ignore all of that?
Back to the point, I'd like to see an official guide that the moderators can follow: what do we do for a first offense? A second? Third? This is complicated by the fact that one of the worst offenders is in fact a moderator, and that needs to be dealt with as well.
I wouldn't ban the users asking the homework questions. They could just make another user and then it would be difficult to figure out it was the same person again. Being able to see the IP Address helps but I rarely look at it, pretty much only when I already suspect a user was someone else
Thanks for replying so carefully, KevinWorkman, your point is well taken
"why are we on this forum?"
I think it's a very good question, and obviously we are not here for the same reason :)
I'm not here to teach, I'm here to learn from other people
And if some people can learn from me, good for them.
(most of the time, I learn more when I try to explain something than when I'm using the something)
That is not always true and unfair on teachers.
In Higher Education (i.e. universities) there can be very large classes where the lecturer delivers the theory and sets the practical exercises but the actual practical classes are supervised by post-graduate students. When the lecturer marks the work he might have had no personal contact with the actual student.
Again, I think plagiarism is a very severe problem and we had ministers of state stepping back because of it.
But plagiarism is not a problem in e.g. 7th grade of school.
I understand your point but I try to bring in a middle position.
But it's good to reflect how we answer questions so thank you.
Our main offender didn't even show up here in the thread.
Best, Chrisir
;-)
I believe that plagiarism occurs at all school levels where students are expected to produce work without teacher supervision. In other words 'homework'.
The world wide web has made plagiarism easier for instance, copying and pasting from wikipedia.
It is only when the work is part of a formal assessment (i.e. where the assessment marks affect the overall qualification gained) that there is a real problem because they are misrepresenting their abilities in order to gain advantage over others e.g. in the job market, or educational advancement to higher level institutions.
Some assessments are simply to help gauge a students understanding of a topic, usually so the student can identify their own strengths and weaknesses. In this case the student is only fooling themselves.
There are strategies teachers can use to reduce the opportunities for students to plagiarise and some institutions use tools to help identify plagiarism e.g. turnitin. Unfortunately these strategies are not full-proof and there will always be a student willing to cheat.
Ultimately there will always be students willing to plagiarise but it is everyone's responsibility to try and stamp it out because plagiarism is morally indefensible.
As far as I am concerned anyone on this forum that knowing provides full code solutions for student assessments are as morally corrupt as the student.
I think it is up to the moderators to attempt to police these problems. I also think all we can do is to try to drive the community towards getting users asking for this kind of "help" to find their answers on their own with assistance
I still stand by deleting full code answers, explaining to users that provide these kinds of answers that it is not in the spirit of the forum (publicly), and that it will not help users asking these kinds of questions in the long run
I have come across many users asking these kinds of questions that are completely lost when they are given an explanation of what to do without code. It is tempting to just provide code and explain why it works but they tend to come back just as clueless when they accept these kinds of answers
" It is tempting to just provide code and explain why it works but they tend to come back just as clueless when they accept these kinds of answers"
I agree, it's the main problem in my opinion.
So it would be okay to do a 7th grader's math homework for them?
Besides that, we aren't just talking about 7th grade. Processing is being increasingly used in high schools and even colleges.
That's exactly the point- teaching is hard. It's easy to just do somebody's work for them, but to really make them understand- that's very difficult. It's extremely difficult to teach the process of working through a problem, breaking it down into smaller pieces, then working on each of those pieces by using the reference.
The thing is, that process is exactly what homework is trying to teach. So by simply providing full code solutions, not only are we not teaching the student anything, we're actively interfering with what the teacher is trying to do.
We've had teachers begging us to do something about this, yet one of the moderators here continues to provide full code solutions. That's really frustrating to me, since I'd really love to see Processing taken more seriously as an educational tool.
One obvious problem I see here:
I've been back on the forum for very little time and it's already fairly clear that one of the repeat offenders you refer to is @GoToLoop (didn't even realise he was a mod!); but no-one appears willing to name and shame. He posts full code answers with little if any explanation and which contain code that is more likely to confuse a beginner than enlighten them. In that respect I'd have little concern over plagiarism in many of the cases: if a teacher/lecturer isn't able to spot when beginners have copy-pasted code that's way out of their league they're in the wrong job. Of course there's a level at which this does become a serious problem...
Anyway - he's clearly a show-off who gets satisfaction, not from having helped someone, but by demonstrating he knows his stuff. And therein lies one of the problems: he obviously does know his stuff. He's never going to be a teacher; but he could make a much more positive contribution; if only he restrained himself from posting full code answers. By all means develop them to prove to yourself you can do something; but limit your answer to something that provides direction rather than the end destination.
I agree with @KevinWorkman that teaching is hard; but this is an open forum; not a classroom. Given a choice between a full-code answer and a response that says 'format your code;, 'post an MCVE' etc. what do you think these young people are going to go for? When I see this approach repeated on posts where the OP has made reasonable efforts and where it's actually clear how to guide them to a solution - even if it's via a choice between a right and not so correct answer - I think it's better to provide that guidance. And I don't think there's anything wrong with expressing that opinion...
I've tried the public shaming game, and it didn't end well. It especially didn't end with moderator action, which is what I was hoping for. I've since been made a mod, but I try to not let my personal feelings enter into moderator decisions. And since none of the other mods seem upset by his "contributions", I've also adopted a non-interference policy.
I think part of the problem is that I actually don't know who's a mod and who isn't, or who the admins are. To get that information you have to specifically go to the person's profile. I know that it's an attempt to keep the forums "clean", but it also confuses issues like this: who exactly is a mod? What exactly are their thoughts on this? I'm pretty sure there isn't even a moderator forum where we can decide issues like this.
So, step one towards a resolution might be having a list of who the mods are and what their thoughts on this are. That will at least decide who is in the majority: people like me who think academic dishonesty is bad, or people like GoToLoop who do people's homework for them. From there we can think about adopting an official policy of some kind.
@blindfish: I actually agree with most of what you said. As for responses asking to format the code or provide an MCVE, again, please keep in mind how many questions we see a day. Over the years that we've done this, most of us have a list of "canned responses" that we simply copy and paste when we see common problems. We could either spend 10 minutes formatting somebody's code, fixing it so it compiles and doesn't use any resources, then debug it to narrow the problem down to what's causing it, or we can ask the OP to do that (which they need to learn how to do anyway) and then spend that 10 minutes answering 3 questions that took the time to do that ahead of time.
You're right that this is an open forum, which is why we reply with requests for more info or better formatting instead of downvoting these types of questions to oblivion, like you might see on stricter sites like StackOverflow.
That's not true, I am a moderator and I have had several disagreements with him particularly in his desire to provide a 'here is a faster way to do it' solution and then provide convoluted unexplained code that no one in his right mind would use with a beginner. Some of his for-loop statements are amazingly complex so deciphering the program logic is a headache, and all in the name of 'efficiency'.
But the problem is he is a moderator the same as me so what should I do?
As I have already said, I was invited to become a moderator to combat spammers. Since then we are getting more and more students dumping their assignments on the forum and expecting quick fixes. I started this discussion so we could reach an agreement what to do in this type of situation.
It is possible to set up a private category only visible to moderators and administrators. I am in two minds whether this is a good idea, it means moderators can have full unfettered conversations but then the forum belongs to all of us not just the moderators.
Perhaps the creators of Processing, Ben Fry (@fry) and Casey Reas (@reas) might have some thoughts on how this forum should be moderated.
Well, often go to loops answers are just a joke...
beginners can't read the code anyway because it's odd, so we can't blame him for posting full code solutions...
it's often just a distration of real discussion...
he's just a troll sometimes, so don't feed him... he's just showing off...
Anyway
Anyway, please don't go for a 0 and 1 solution... life is mostly gray.... not black and white.... (not easy for some people to see this...)
There are Hobbyists here where we just can paste full code
There are guys in the 7th grade you just happen to be in the class and need to pass it and don't want to become a programmer in their whole life
And there are older students where we should be more strict
Don't forget, it's still a Hobbyist language and forum.
And yes, I agree asking for a mcve is not welcoming, not helpful and not polite when you speak to a beginner. They would need to write a new sketch and to isolate that problem just to receive an answer... not fair.
;-)
I agree that there is no black and white solution which is why I am asking for guidelines not hard and fast rules.
In the UK judges are given sentencing guidelines depending on the offense. The sentence set for an offender should be within the guidelines but take into account the seriousness of the offense.
For instance I was supervising a third year undergraduate student in his final year project. This project was worth about 20% of the final mark awarded for his degree. Half way through the project schedule it was brought to my attention that the student had posted the project brief on two different a pay-per-job sites on the web. Not only did he want the code but full software design documentation.
To me that was a serious attempt to commit plagiarism.
On another occasion I set an assignment where students had to create a text based adventure game. The game scenario was designed by the student and submitted before starting the programming so that every student had a produce a unique game. I had 2 students working together on their individual assignments and although they produced different games some of the coding was extremely similar in structure. I challenged the students and they had inadvertently slipped over the border between peer support and and plagiarism. To me this was a lesser offense.
Yeah, I didn't mean to accuse the other mods of being lazy or anything. Really, I'm not even sure who the mods are, and then what their "official" stance on this is. Like you said, one of the moderators is our worst offender!
Why is he a moderator?
I completely understand that, and like I've said: there isn't a big red line between "right" and "wrong" here. It's fuzzy. But there are pretty obvious abuses of this forum's lack of regulating this kind of thing. I don't think anybody is saying we should ban all helping on homework, or all posting of code. But there are pretty obvious cases of academic dishonesty- to the point where we've had teachers begging us to do something about it.
It really depends on the scope of the question. Questions like "how do I find the primes in an ArrayList" shouldn't just be given code. You should ask the person to break down the problem- can they iterate over a List? If not, help them with that. If so, can they then detect whether a specific number is prime? If not, help them with that. If so, can they then add numbers to a new ArrayList? If not, help them with that. Just dumping the syntax in their lap doesn't help anybody.
I strongly disagree with this. There are guys in 7th grade who happen to be in math class and don't want to become mathematicians- should we do their math homework for them too?
How do you tell the difference between the two?
Processing is being used in more and more schools, so this is not really true anymore.
That is exactly what they should do- start over with a new sketch and try to isolate the problem. That's completely fair. In fact, that process is a skill in and of itself, that every programmer needs to learn how to do. By asking them for an MCVE (which I'll remind you is a common request on every single other programming forum), we're teaching them that process. Most times, people will figure out the problem themselves while trying to isolate it into an MCVE!
"Give a man a fish, and you'll feed him for a day. Teach a man to fish, and you'll feed him for a lifetime."
Also strongly disagree with this. Personally categorize them as the ones with the most potential benefit from this forum if they are not given code. I myself never expected to be a programmer (I was an art student) and became a computer scientist largely due to be challenged by a few good teachers
I also strongly disagree with this.
At school I studied many subjects including history, English literature, geography and I had no thoughts to becoming a historian, book critic or geographer does that mean it would have been alright to cheat and submit other peoples work as my own.
BTW The fact that I failed these subjects when I was 16 hasn't held me back. :D
BTW I think programming helps develop logical thought and generic problem solving skills (assuming they do the programming themselves).
BTW Hold old are 7th grade students? Just interested :-?
Same here. I was an English major!
Exactly. That's the process I keep talking about. That's what these homework problems are actually trying to teach. Just dumping out syntax, which is the easiest part, is not helpful in any way.
In America, they're usually 12-13.
OK same as year 7 in UK :)
I've been around for a long time. I'm not a programmer, I'm not a student, not a teacher, nor a moderator. I'm not in favor of plagiarism or cheating.
That said...
I think THE greatest feature of Processing is it's very active and friendly community. Basically, this forum.
Several years ago, when a colleague showed me a little colored cube spinning in a window in his computer and then tweaked some number in a text changing the behaviour of the cube, I have never tried to code anything. But i liked that. So I head to the web to discover more.
And I found this community, and thanks to it I can now code some simple stuff.
I remember the first posts I've made. I got tell, I was kind of scared. For some one with no knowledge, programming and programmers can be very frightening.
But luckily I found here patient and friendly people that helped me to learn, walking me trough the weird :) way of thinking of a programmer. And this friendly behaviour of this forum, this "welcome noob" feeling I felt, kept me going. I believe this is a very valuable asset Processing has.
So I think if care is not exercised to stay balanced in plagiarism matter, it can backfire, ending in preventing people to help others, afraid of forum's reaction. And creating a harder environment for noobs. Good help can be lost... Good learners also.
I think the point (about plagiarism) is made, and every one here agrees that no one should provide full code solutions, in a manner that the code could be used for cheating.
But we don't need a patrol. Very few times (maybe 2 or 3) I've seen in this forum answers that could be used for cheating. And even those, were not clear about being assignments in first place...
I believe we can relax a little in this particular matter. I think if we look back, before this discussion started, we will see a forum where this matter was not a big problem, and things were running smoothly.
And again the point about plagiarism is clearly made by all the discussions on this issue. The only disagreements that still happening is not if plagiarism is acceptable, its's not. They are about where to draw the line.
My point is: the community common sense is good enough where it is... the line is well placed, we can relax and enjoy.
This is only my humble opinion.
peace, love and code !
ps: I think @goToLoop 's contribution is really important to community. One could see this by numbers of "thanks you saved my life" comments he gets in his answers. Judge him without consider this is a bit unfair. And as said here, his code could not be used to cheat, as it is very convoluted :). And he always post some explanation together with code, and answers the OP's new doubts.
ps: this post is an example of what I think is to much patrol. GeorgeRoland's answer is not a "full code" solution. The OP's needs was very different. I would consider this a "sample code" answer which I think is fine.
italic = edited
I mostly agree with you @_vk. @GoToLoop does obviously contribute a lot of answers and I suspect many of them are helpful. However from what I've seen he doesn't always explain his code, and he sometimes uses optimisation that will be confusing to beginners, or doesn't explain dependencies it may have. I do stand by what I said before: it often looks like his posts are made to prove he can do it, rather than to help... Having said that I suspect part of his problem may simply be a language barrier, or the mistaken assumption that code is a universal language that doesn't require explanation. It does have that potential; but not everyone is lucky enough to understand it right away. IMO GoToLoop simply needs to think a bit more about the code examples he posts and especially avoid simply reposting a direct fix to the OP's code.
On the other side of the argument different people learn in different ways. Teasing out the steps involved to get to a solution by asking them to provide MCVEs etc. may work well for some; but it can also seem patronising or tedious when all someone needs is a suitable code example to give them that moment of clarity. Even in a classroom you have to vary the teaching methodology to best suit the learning style of different students; but this is a forum and it's often difficult to gauge the best approach to take from a single posted question.
IMO that means taking a balanced approach. A code example can sometimes be all that's needed and be perfectly appropriate (as in George Roland's answer; which anyway balanced the code with some explanation and looked to me like a model answer). Conversely it's often obvious - at least to native English speakers - when someone has made no effort. In that case the dogmatic MCVE approach does seem the most reasonable and posting code should be discouraged.
I don't know enough about the forum software, but maybe it's possible to add the ability for moderators to tag posts that look like homework as and when they see them. You could then limit sanctions to anyone posting 'full code' answers to these identified 'homework' posts. No idea how practical that might be; but it seems like a much more positive move than simply banning someone who already does contribute and just needs (to accept) some guidance on how to contribute most effectively.
"but maybe it's possible to add the ability for moderators to tag posts that look like homework as and when they see them"
I think it's a very good idea ! :)
I also think @GoToLoop is a great user here ! :bz :ar!
We should lay off GoToLoop in this discussion, regardless of his behavior this is bullying at this point
We should also try to come up with a WIP for a "Plagiarism Rules" discussion
I agree with _vk that the forum is doing great. And: there is no black and white.
I don't disagree. I would further argue that it's a strength of most of the major modern languages.
But when we have teachers posting here begging us to do something about the plagiarism in this forum, that's a real problem.
Exactly- the answer he gave had nothing to do with what the OP was actually trying to do. That's one of the major issues with people posting full code solutions- often they aren't even the correct solution! That can just be confusing, and therefore harmful, to people trying to get help.
Furthermore, I simply pointed out to George the problems with posting full code solutions, and he got it, and we moved on with our lives. People are acting like I'm recommending we go full-swat on every person who posts code, and I'm not. I'm simply saying that being more aware and having an official policy in place would go a long way.
That model answer had nothing to do with the question being asked. The OP wanted to move the camera along with an object, the answer reset the object's position to the other side of the screen. This was based on incomplete information from the OP- which is why I ask for more information when it isn't obvious.
This is a technical programming forum. I don't think it's outrageous to say that questions are easier to answer if people post the code they're talking about, in a way that we can actually read and run it.
I'm not sure what that would accomplish. How do we determine when something is homework? What do we do if somebody posts a homework question but says it isn't homework? What do we do if somebody posts a full code solution to an identified homework question?
This is starting to degrade into circular bickering, so here is what I think we need:
Moderators should be identifiable in their forum posts. This will help us look more "authoritative" when we ask people not to post full-code solutions.
We need a centralized document outlining why full-code solutions are harmful, and how to turn those kinds of answers into something more helpful. I can write the first draft of that if you want, or somebody else can, that's fine too.
I'd also say that we need another centralized document explaining the best way to ask questions- by posting code, narrowing the problem down to as few lines as possible first, etc. Maybe a more polite and novice-friendly canned response for people who post vague questions that links to that document. (See? I'm listening.)
But with all of that in place, we still have users who will simply ignore all of the above, and continue posting confusing, misleading, full code solutions for their own "trollish" purposes. What should we do in that case?
I really doubt anyone who is going to ask for full code is going to first read through the plagiarism rules. I was imagining that it would be a link we point people at when they make their discussion along with some kind of a standard text like, "This forum does not support giving full code solutions, please see our rules on plagiarism: http://..."
If you, @KevinWorkman, could make an outline I think that would be great
err....
we didn't even agree that full code solutions are to be rejected every time...
I don't understand why one smal fraction wants to get now into action (probably only because they can't remove the mod rights from one single person ;-) ).
read my longer post, read vk_s post, it's not black and white...
please don't start to put up "rules" here...
the awareness is there, that's enough...
;-)
It isn't really for them. It's for when we see somebody posting a full-code solution, we have a polite way to remind them that there are downsides to that approach.
This is exactly what I'm thinking.
I'm not saying that every person who posts code will be rejected.
Because we've had teachers post here begging us to do something about it. Because it has persisted even after several discussions like this.
I was the first one to say that it's not black and white. I have read every post here. Please read my posts. You're attributing a dichotomy to my argument that I do not intend.
Without "rules", what should we do when the next person does somebody's homework for them for money?
I partially agree with this. Awareness and a forum "culture" against plagiarism is the goal here. That's why I think we need a centralized post that explains why plagiarism and full-code solutions (spoon-feeding) are bad.
as said full-code is helpful when we tread youngsters or hobbyists.... it has been said by many above...
plagiarism is bad in university context, agreed...
Then we aren't really disagreeing.
Full-code solutions can be fine if the person seems to almost have the answer, has done their own debugging, has narrowed the problem down, etc.
But if a person asks "How do I print the prime numbers from 1 to 100, code plz", then giving them a full-code solution is not helpful.
There's a blurry line between helping somebody out and doing their homework for them. It's impossible to reliably tell the difference between a homework question and a "hobbyist" question.
Asking somebody to do the bare minimum of debugging a bit and trying to narrow the problem down isn't asking much- it's a skill that every single programmer needs, regardless of whether they're a student or a "hobbyist". I'm not saying we need to auto-ban anybody who doesn't live up to some strict standard. I'm saying that we need to do something about plagiarism, and that involves being more aware of the process of working through a problem instead of just dumping syntax every single time.
If you just want to do somebody's work for them, then go on one of those shady homework service sites. If you just want to prove how smart you are, then go on one of those code challenge sites. If you want to help people learn how to be better programmers, then doing their work for them isn't just not helpful, it's actively harmful.
I can agree with Chrisir when it comes to hobbyists in some sense but I also assume that the hobbyist would probably already be a reasonably competent programmer who is stuck on some detail (why would they make a hobby of programming otherwise?). That being said, I think it is still possible to give word explanations first and ask for code / an attempt if they did not provide it
I agree...
;-)