7
\$\begingroup\$

I just read through a question that wasn't tagged as homework, however, it asked if it was good enough to show the professor. I added the homework tag and a comment that they shouldn't post the homework before it was handed in. The poster replied with "Why not"?

Is it our responsibility to show that this is a lack of ethics and that it isn't fair to the other students in the class?

\$\endgroup\$
  • 1
    \$\begingroup\$ Related on academia.se about homework and online help (as well as SE in particular): academia.stackexchange.com/q/20182, academia.stackexchange.com/q/31814 \$\endgroup\$ – Vogel612 May 9 at 13:45
  • \$\begingroup\$ Why shouldn't homework questions be posted before they've been handed in? \$\endgroup\$ – Peilonrayz May 9 at 13:46
  • \$\begingroup\$ Related meta, which says it's fine: codereview.meta.stackexchange.com/a/65 \$\endgroup\$ – Peilonrayz May 9 at 13:49
  • 3
    \$\begingroup\$ How about recommending the student to also add a link to their question in the homework? \$\endgroup\$ – Simon Forsberg May 9 at 14:22
  • 3
    \$\begingroup\$ Code is code and as long as it complies with CR rules, who cares? This community is not about teaching people ethics. \$\endgroup\$ – t3chb0t May 11 at 17:24
  • 2
    \$\begingroup\$ Reviewing ethics during a code review would be fine with me. It is just another level of how the code relates to the world. If somebody asks me to review a spambot there won't be much to say about the code versus how bad of an idea it is to write it. \$\endgroup\$ – chicks May 12 at 18:51
  • \$\begingroup\$ We can never know the intention of the OP. It can be for personal, educational or commercial reasons. I would only provide solutions online to small or generic problems. For specific and complex problems, I think it serves the OP, yourself and the community better to give some hints, links to research articles, rather than a full solution. \$\endgroup\$ – dfhwze May 18 at 17:16
9
\$\begingroup\$

Whether or not the student is allowed to obtain external help to improve their solution to a homework problem (it must already be a solution, otherwise it is probably off-topic here) cannot be judged by us. It will vary from university to university and each will have a different way how help must be acknowledged.

Probably in most universities it would be against some regulation to submit that code as their own work afterwards, but we also don't have any control over how the student acknowledges the help (although, legally they would have to do so, abiding by the CC-BY-SA 3.0 license).

And, as mentioned, students can always submit their question in a way that it is not obvious that it is a homework problem. Requiring all homework problems to be tagged as such does not magically make it so.


I think it boils down to the question:

Should we review code that can be used in an unethical/immoral/illegal way?

So the answer is IMO the same as to the question of whether or not we should review code that can be used for nefarious purposes, like password crackers or code the use of which maybe illegal/unethical, like website crawlers. We should assume best faith. In the end it is the OP which either commits or does not commit an unlawful/unethical act with it and unless this is obvious from the question we cannot (as a community) assume that this will be the use case. As an individual you can always refrain from answering if this is against your personal ethical code.

The answer to this question in the most broad sense is up to debate, currently, in issues such as who is responsible for how a robot/driving car/drone acts and should programmers write that code or not? I don't think there is an agreed upon answer. I doubt we can come up with an answer to that question here.

\$\endgroup\$
  • 3
    \$\begingroup\$ "We should assume best faith." Honestly, we've reviewed even nefarious code that was obviously so. And we don't mind. So your point is even better than you realized. \$\endgroup\$ – Mast May 10 at 17:37
4
\$\begingroup\$

In the UK homework isn't coursework and doesn't affect your final grade for that course. It is also used as a means to find gaps in student's and the class' knowledge, as a means for learning and a way to see how the student is achieving.

Given that if the post isn't working then it's off-topic on Code Review, then it'll only affect the latter two points in the above paragraph. I don't see how this affects the student's peers.


Posting coursework could be classed as unethical. However it can be argued that it's no different than searching Google and finding a Stack Overflow/Code Review post that performs the same task as the coursework and learning from that.

Ultimately this is in a grey area, and is something everyone won't agree on.


It should be noted that a user can easily make it unknown to us that the post is either coursework or homework - if they don't include the tag and keep the description to read as a self-assigned project.

A student can also make a side project that is similar to their coursework / homework and post that here. And then transfer the knowledge learnt to their coursework / homework.


I don't see how it's unethical, to post homework here before a deadline. And I don't see how it affects the user's peers, unless the peers find the question whilst doing their own homework.

Ultimately it will improve the skills of the people that find the question, which is the intent behind homework and Code Review.

\$\endgroup\$
  • 1
    \$\begingroup\$ That's a very broad statement you begin with - I wouldn't like to claim that no UK school or university coursework is homework (and many people use the terms loosely, anyway). It's a couple of decades ago now, but I remember my final-year undergrad project (in England) comprised software that could be described as "homework". \$\endgroup\$ – Toby Speight May 10 at 8:11
  • 1
    \$\begingroup\$ I don't understand the argument for "it'll only affect the latter two points in the above paragraph". Code can be working but stupendously inefficient because of gaps in the student's and class' knowledge. I see this quite a lot with people who use arrays or equivalent as the only data structure. \$\endgroup\$ – Peter Taylor May 10 at 10:13
  • \$\begingroup\$ @TobySpeight You can name anything anything you want, "coursework I do at home is homework", I've said it's not so it's clear what the distinction is. I have said coursework is gray, and there's no point arguing over that because the conclusion will just be that it's gray. Even then that would only effect other students when the teacher is good, but a good teacher would also know when a student has gone to a third party for help. And it's unlikely that a 1/30 change will change the outcome. \$\endgroup\$ – Peilonrayz May 10 at 14:53
  • 1
    \$\begingroup\$ I don't think you've been as clear as you think you have - my understanding is that the terms describe two overlapping sets, and all you've done is contradict that without any justification. And then, any reasoning that builds upon that is automatically suspect. It also doesn't help that we're using words that different readers will each understand in the context of their own experience - that always makes communication that bit more difficult. I still say that your first claim is untrue: some homework is coursework and some is not. \$\endgroup\$ – Toby Speight May 13 at 8:10
  • \$\begingroup\$ @TobySpeight Looks up definitions, see they're not overlapping. I've also been fairly clear in saying they're different. Just sounds like you just want to have a fight. I don't have time for this fight you want. \$\endgroup\$ – Peilonrayz May 13 at 12:44
  • 1
    \$\begingroup\$ No, I don't have time or desire for a fight (really, please no). But there's nothing in the definitions I've read that says coursework cannot be homework or vice versa. I don't really want to have an argument about this, as your concluding two paragraphs have my full agreement - it's all about learning and improving. \$\endgroup\$ – Toby Speight May 13 at 15:20
1
\$\begingroup\$

My 2 ct regarding answering home-work questions :

IMO its neither unethical to post home-work questions and use the answer to improve the own code, nor to answer such questions. But for answering the question one should do it in a way that the asker learns something, meaning don't catch the fish for them but teach them how to fish.

In the rare cases I used to answer home-work questions I did it by providing hints to solve the problem faster/better, posting web-links to related resources etc. but (at least as I remember) never provided a complete rewrite of the mentioned improvements of the code in question.

So, no it isn't unethical to answer home-work questions if you do it in your own right way.

\$\endgroup\$
0
\$\begingroup\$

A thread that refers to an unsubmitted homework does not necessarily have to be unethical. I consider it morally acceptable to post a solution to a homework assignment that meets the requirements of the task and to ask for improvements. From my point of view, it would only be unethical if you show that you have not put any personal contribution into the subject or if you ask for the solution without trying it by yourself. Asking specific questions and getting tips and hints is not unethical.

Students also support each other. Why it shouldnt be allowed to ask people on the internet, if you do it in a proper way? Nobody is forced to solve everything as a one-man army. You should not confuse a scam attempt with a student who asks others for advice.

\$\endgroup\$
  • 2
    \$\begingroup\$ lel, why the downvotes? \$\endgroup\$ – Dexter Thorn May 9 at 14:20
  • 2
    \$\begingroup\$ The problem as I see it is that many of the reviewers on this site are professionals and not students so you are getting a different level of help. \$\endgroup\$ – pacmaninbw May 9 at 14:23
  • \$\begingroup\$ And where is the problem? Other students can also ask professionals here. Thats not forbidden. You are a little bit to sensitive in such questions. \$\endgroup\$ – Dexter Thorn May 9 at 14:29
  • \$\begingroup\$ Please tag your homework questions as homework so that we can choose to not provide an answer. \$\endgroup\$ – pacmaninbw May 9 at 14:32
  • 4
    \$\begingroup\$ I am sorry, I did not know that homework questions have to be marked as such. Next time I will do it. But it wasnt a big secret: I also mentioned the fact that this thread deals about a homework at the beginning of the description. But anyways: In the future I will do that. \$\endgroup\$ – Dexter Thorn May 9 at 14:38
  • 2
    \$\begingroup\$ "I consider it morally acceptable to post a solution to a homework assignment that meets the requirements of the task and to ask for improvements." I don't think anyone would disagree with that. The debatable question is whether it's morally acceptable to then submit the improved code as your own. \$\endgroup\$ – Peter Taylor May 10 at 10:18
  • 1
    \$\begingroup\$ @PeterTaylor Isn't a common idea of Code Review that we teach a man to fish, so they can write their own equivalent code. (You can see this argument when you look at posts that say providing code isn't required) Either way, isn't the problem then just "don't provide complete code to [homework] questions" rather than it's "unethical to post [homework] questions before the deadline". \$\endgroup\$ – Peilonrayz May 10 at 14:57
  • 2
    \$\begingroup\$ @Peilonrayz, you're mixing up the moral responsibility of the questioner with that of the answerer. Admittedly this answer did it first by addressing the questioner when the question at the top of this page addresses the answerer. My earlier comment addressed this answer, so the perspective of the questioner. I could add that if the goal is to learn to fish rather than to submit improved code for marking then most students (those without unusually reduced inhibition ability) can wait until after they submit the homework before requesting feedback from third parties. \$\endgroup\$ – Peter Taylor May 10 at 15:33

You must log in to answer this question.

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