The Moral Delima

This is a discussion on The Moral Delima within the A Brief History of Cprogramming.com forums, part of the Community Boards category; I'll admit to doing someone's homework once. I didn't want to at first, but then I enjoyed it. Here is ...

  1. #16
    Registered User
    Join Date
    Aug 2002
    Location
    Hermosa Beach, CA
    Posts
    446
    I'll admit to doing someone's homework once. I didn't want to at first, but then I enjoyed it. Here is the story:

    He said, "I have these three assignments due, and I can't do them on my own, can you do some for me so I will pass?" And I said, "Why did they give you more than is reasonable to complete?" And he said, "Well, I didn't do the assignments, and so now they are late, but I talked to the instructor and she said if I got them done, I won't be penalized, so how many will you do for me?" And I said, "I would rather that you did them, and I will help you (alot) to get them into form that will get you full credit." And he said, "Like I said, I don't really have time to do them, and anyway I have to study for this other class, because I didn't go to class for two weeks and..." So I say, "Fine, give me one of the programs, I'll write it tonight." And he says, "That's so cool, thanks, I'll buy you a beer next week." So he's taking a C++ 101 course, and it's some simple program like reading from a file, calculating averages of student grades, and then writing it back out to an output file. I decide to use std::copy to read the file in to a std::vector, and I think std::transform to compute averages and write it back out to some ostream object. Because I figured that was probably how they learned in class, if you know what I mean. And also, maybe because I wrote it real fast, but I had this bad habit of doing curly braces like this:

    Code:
    if (error) {cout<<"There was an error<<endl;}
    But the program was very short, and it worked, so I fired it back to my friend via e-mail. And a week later he bought me a beer, and was very appreciative of what I had done.

    And FWIW, he ended up not getting credit for the assignment, although the instructor I think gave him an opportunity to come to her office to explain the code, which he declined. And he switched to be an IS major, which is supposed to be easier than CS, after all.
    The crows maintain that a single crow could destroy the heavens. Doubtless this is so. But it proves nothing against the heavens, for the heavens signify simply: the impossibility of crows.

  2. #17
    Just one more wrong move. -KEN-'s Avatar
    Join Date
    Aug 2001
    Posts
    3,230
    I helped my brother's roommate pass his (college) sophomore CS class, while I was only in my sophomore year...of highschool.

    I didn't think of it as unethical; but then again, I didn't really care. What the hell are ethics going to do besides make me feel bad about it?

  3. #18
    VA National Guard The Brain's Avatar
    Join Date
    May 2004
    Location
    Manassas, VA USA
    Posts
    903
    ...he ended up not getting credit for the assignment, although the instructor I think gave him an opportunity to come to her office to explain the code, which he declined.
    I think this is the best part of the story.
    • "Problem Solving C++, The Object of Programming" -Walter Savitch
    • "Data Structures and Other Objects using C++" -Walter Savitch
    • "Assembly Language for Intel-Based Computers" -Kip Irvine
    • "Programming Windows, 5th edition" -Charles Petzold
    • "Visual C++ MFC Programming by Example" -John E. Swanke
    • "Network Programming Windows" -Jones/Ohlund
    • "Sams Teach Yourself Game Programming in 24 Hours" -Michael Morrison
    • "Mathmatics for 3D Game Programming & Computer Graphics" -Eric Lengyel

  4. #19
    unleashed alphaoide's Avatar
    Join Date
    Sep 2003
    Posts
    696
    Quote Originally Posted by The Brain
    I think this is the best part of the story.
    I have fun watching people in their 4th year of college with knowledge of that of freshmen. Seriously, I know a lot of my friends just like that. If I had my own company, I'd definitely not hire these people. I would feel sorry for those who end up hiring them just because they have a bachelor degree.
    source: compsci textbooks, cboard.cprogramming.com, world wide web, common sense

  5. #20
    Registered User
    Join Date
    Dec 2004
    Posts
    465
    A word about code of honor: these problems are supposed to be solved by you individually, any cases of dishonoring this code will lead to immediate disqualification of all persons involved from the entire module, no matter you are the source or the destination.
    Stuff like this is all over the assignments what morons to cheat?!

    I think if you just slip things into the code the people that are attempting to cheat Either:
    a. Won't notice and turn it in
    b. Will find it and never bother you again
    c. Wille say nah I'm going to be good take you code!
    A, I'm sure is the most likely situation.

    I think that I might possibly help someone with their homework even though I could possibly screw it up. I say go for it. If they strive to comprehend the code you gave them than it helps them that much more especially since they can ask you. If they just want a grade, give them the grade and watch them get screwed.
    My computer is awesome.

  6. #21
    the hat of redundancy hat nvoigt's Avatar
    Join Date
    Aug 2001
    Location
    Hannover, Germany
    Posts
    3,138
    This may be true, but since I don't go to that school, what will they do to me?
    One day, you will go out of that door and school will be over. Then you will see that for the rest of your puny life you are damned to have coworkers. This is the point in time where you wished no one ever helped them cheating and you wished they'd rather failed than cheated their way into the workforce and right into your team
    hth
    -nv

    She was so Blonde, she spent 20 minutes looking at the orange juice can because it said "Concentrate."

    When in doubt, read the FAQ.
    Then ask a smart question.

  7. #22
    Anti-Poster
    Join Date
    Feb 2002
    Posts
    1,399
    Quote Originally Posted by nvoigt
    One day, you will go out of that door and school will be over.
    You mean, two years ago? You might have a point about the coworker thing, but in my experience, someone that is willing and ready to pay for a completed homework assignment is not someone that's going into the field. It's either: a) someone forced into taking a programming course due to the vagaries of college requirements, or b) someone making a terrible mistake about their choice of career.
    If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein

  8. #23
    Senior Member joshdick's Avatar
    Join Date
    Nov 2002
    Location
    Phildelphia, PA
    Posts
    1,146
    Quote Originally Posted by pianorain
    I'm game.

    Exactly where in that code of ethics would you say that doing someone else's homework for money is a violation? I attempted a quick lookover through sections 1 and 2, but I didn't see anything explicit.

    Further, I am not a member of the ACM. Why should I allow them to dictate to me what my ethical standards are?
    I was hoping I wouldn't have to spoon-feed you the Code of Ethics, but here you go ...

    1.6 Give proper credit for intellectual property.

    Computing professionals are obligated to protect the integrity of intellectual property. Specifically, one must not take credit for other's ideas or work, even in cases where the work has not been explicitly protected by copyright, patent, etc.

    2.3 Know and respect existing laws pertaining to professional work.

    ACM members must obey existing local, state,province, national, and international laws unless there is a compelling ethical basis not to do so. Policies and procedures of the organizations in which one participates must also be obeyed. But compliance must be balanced with the recognition that sometimes existing laws and rules may be immoral or inappropriate and, therefore, must be challenged. Violation of a law or regulation may be ethical when that law or rule has inadequate moral basis or when it conflicts with another law judged to be more important. If one decides to violate a law or rule because it is viewed as unethical, or for any other reason, one must fully accept responsibility for one's actions and for the consequences.
    By passing off someone else's work as his own, the student who contacted him is failing to give proper credit to the true owner of intellectual property in clear violation of 1.6. Furthermore, you can bet that the student's college has policies on academic honesty that would be broken by such blatant cheating, and breaking such a policy violates 2.3.

    And if you don't want to follow the ACM Code of Ethics, that's fine. I'm not going to lose any sleep over it. You should recognize, however, that that is the prevailing code of ethics for computer professionals. Furthermore, if you ever hold a job in the field, you will be subject to your company's code of ethics.

    Listen, ethical standards aren't about people trying to control your actions for the hell of it. They needn't even be about doing the right thing just to feel good inside. Professional ethical standards have the most to do with doing the right thing because it is the responsible thing to do, because it is the pragmatic thing to do, and most importantly because if you don't follow them on the job, you could easily be canned.

    You should get in the habit of following ethical guidelines early in your adult life, because when you enter the professional world, you will be expected to be ethical and failure to do so can cost you your job.

  9. #24
    Anti-Poster
    Join Date
    Feb 2002
    Posts
    1,399
    Quote Originally Posted by joshdick
    By passing off someone else's work as his own, the student who contacted him is failing to give proper credit to the true owner of intellectual property in clear violation of 1.6. Furthermore, you can bet that the student's college has policies on academic honesty that would be broken by such blatant cheating, and breaking such a policy violates 2.3.
    I agree completely. I agree that it would be unethical for me to pay someone else to do my homework. It would be unethical because of the reasons you just stated. However, this doesn't address Jeremy G's original issue. Is it ethical to do someone else's homework (with or without pay)? I contend that it is. From the programmer's point of view, it's simply a pay-for-code job. What the student does with the code after that is up to the student.

    I'm willing to concede that doing someone else's homework may be aiding an unethical practice on the part of the student. That may make doing someone else's homework unethical.
    If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein

  10. #25
    Mayor of Awesometown Govtcheez's Avatar
    Join Date
    Aug 2001
    Location
    MI
    Posts
    8,825
    > You should recognize, however, that that is the prevailing code of ethics for computer professionals.

    Their website says they have 80,000 members. There are far, far more than 80,000 computer professionals in the world. I don't see how you can back up this claim.

    > You should get in the habit of following ethical guidelines early in your adult life

    Pot, kettle - play any minesweeper at work lately? If you have, you're being paid for work you're not doing. That's pretty damn unethical.

    I agree with pianorain here. It's unethical for the student to look for someone to do it for him, but he'll likely fail in the corporate world if that's the way he operates. It's not unethical to take a project like that.

    What if someone asks you to do a project for them, and you don't know it's homework?

  11. #26
    Senior Member joshdick's Avatar
    Join Date
    Nov 2002
    Location
    Phildelphia, PA
    Posts
    1,146
    Quote Originally Posted by Govtcheez
    Their website says they have 80,000 members. There are far, far more than 80,000 computer professionals in the world. I don't see how you can back up this claim.
    Maybe I should have said that it's "one of the prevailing code of ethics for computer professionals," but besides IEEE, I don't know of any larger professional organizations for programmers. If you know of any, do tell.

    Pot, kettle - play any minesweeper at work lately? If you have, you're being paid for work you're not doing. That's pretty damn unethical.
    No, I haven't played any minesweeper at work since my boss told me not to on the first day. Any time in between projects at work I spend at sites like these learning more about programming. That's an ad hominem anyway, so I'll spend no more time on it.


    I agree with pianorain here. It's unethical for the student to look for someone to do it for him, but he'll likely fail in the corporate world if that's the way he operates. It's not unethical to take a project like that.

    What if someone asks you to do a project for them, and you don't know it's homework?
    Well, I agree with Kant that it's human will alone that is ethically right or wrong. If a programmer in good faith completes a program for someone but doesn't know it's homework, then that programmer hasn't done anything unethical. I think that's a bit of a red herring, however. Not only is that not at all what this discussion is about, but I find it unlikely that a programmer would be unable to discern whether the project is for homework -- at least homework for introductory programming classes.

    You say it's not unethical to take a project like that, but you fail to give reasons. Well, I will make my case explicitly, and I encourage you to do the same.

    Using the first formulation of the Categorical Imperative of Deontology, it is clear that universalization of a maxim like "It is ethical to do one's homework for them" leads to absurdity. By having someone else do the homework, it abolishes the meaning of homework.

    Using the second formulation of the Categorical Imperative of Deontology, it is clear that doing one's homework for them is unethical, for it treats certain moral agents, namely professors, as means to an end rather than people in and of themselves who deserve respect. Professors, as moral agents, deserve to be treated with respect; therefore, they should not be hoodwinked by students trying to pass off someone else's work as their own. The programmer who would be party to this deception is also morally responsible for treating the professor as an end; thus the programmer's actions are also unethical.

    Using Social Contract Theory, it is clear that doing someone's homework for them breaks the social contract. When a student matriculates at a university, they agree to follow the policies of the university. The student is trying to circumvent those policies, and the programmer is acting as an accomplice to this; thus, both are engaging in unethical activity.

    Using Virtue Ethics, it is painfully clear that there is nothing virtuous about this. The student is harming himself by failing to gain experience from completing the assignment and is not cultivating virtue. In addition to contributing to the student's harm, the programmer isn't cultivating virtue either. One might argue that the programmer is practicing his skills by completing the assignment, but really the assignment is likely beneath the programmer's skill level and thus not challenging the programmer adaquately or contributing to his virtue.

    Bring it

  12. #27
    Anti-Poster
    Join Date
    Feb 2002
    Posts
    1,399
    Ha...excellent.
    Quote Originally Posted by joshdick
    Using the first formulation of the Categorical Imperative of Deontology, it is clear that universalization of a maxim like "It is ethical to do one's homework for them" leads to absurdity. By having someone else do the homework, it abolishes the meaning of homework.
    I agree. Take good note of what you said, though: "By having someone else do the homework..." That statement is on the part of the student, not the programmer. Does the following statement also hold? "By doing someone else's homework, it abolishes the meaning of homework." I think so. I'll accept that.
    However, it also seems that the universalization of any maxim leads to absurdity.
    Quote Originally Posted by joshdick
    Using the second formulation of the Categorical Imperative of Deontology...<snip> The programmer who would be party to this deception is also morally responsible for treating the professor as an end; thus the programmer's actions are also unethical.
    I disagree with the bolded section. Why is the programmer morally responsible for the actions of the student? The programmer is not decieving anyone. Indeed, the programmer may well create his/her code in such a way that identifies himself/herself as the programmer.
    Quote Originally Posted by joshdick
    Using Social Contract Theory, it is clear that doing someone's homework for them breaks the social contract. When a student matriculates at a university, they agree to follow the policies of the university. The student is trying to circumvent those policies, and the programmer is acting as an accomplice to this; thus, both are engaging in unethical activity.
    Like I said in my previous post, I might agree to this. I think the accomplice issue is a weak argument, but I have no way to back that up.
    Quote Originally Posted by joshdick
    Using Virtue Ethics, it is painfully clear that there is nothing virtuous about this. The student is harming himself by failing to gain experience from completing the assignment and is not cultivating virtue. In addition to contributing to the student's harm, the programmer isn't cultivating virtue either.
    I think virtue ethics is a terrible way to view any issue. From EntropySink, "I reject your reality and substitute my own." Seriously, it seems to me that there are plenty of things that cultivate no virtue but are still necessary. Additionally, on the part of the programmer, there are plenty of oppertunities for him/her to cultivate virtue. A couple of examples:
    a) The programmer could practice his/her bargaining skills to get the highest pay for his/her services.
    b) The programmer could practice his/her ability to meet a deadline.
    If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein

  13. #28
    Senior Member joshdick's Avatar
    Join Date
    Nov 2002
    Location
    Phildelphia, PA
    Posts
    1,146
    I really don't understand how you can continue to defend your position. I think we're all in agreement here that the student who passes another's work off as his own is engaging in unethical behavior. Yet you continue to assert that a programmer is doing nothing wrong by willingly and knowingly facilitating that unethical activity without providing any cogent argument in your favor.

    Under Deontology, it is human will alone which can be ethical or unethical. I think it is clear that it is the will of the programmer to disregard all professional ethical standards, the academic honest policy of the student's institution and any consideration of the student's professor -- a moral agent who deserves consideration -- just to make a buck. The will of the programmer is immoral.

    That's just looking at it from one ethical prespective, but I can't think of many valid ethical theories that don't hold accomplices morally responsible.

    How can you not hold them responsible? Are you suggesting it's perfectly ethical to drive a getaway car for bank robbers? Do you think it's not at all questionable to give a gun to a known murderer?

    Every one of us must consider ethical questions for ourselves, for it is the individual responsibility of every moral agent. Likewise, the consequences of your actions -- whatever form they may take -- are also solely yours.

    Yet in light of the fact that no one encouraging cheating in this thread has provided a cogent argument in their favor, I have to say this: Stop kidding yourselves. If you really think that your position is morally superior, then good for you. That choice is yours as are its consequences. But please don't act as if you have any ethical reasons for your position when you're doing nothing more than rationalizing your own greed.

  14. #29
    Mayor of Awesometown Govtcheez's Avatar
    Join Date
    Aug 2001
    Location
    MI
    Posts
    8,825
    > That's an ad hominem anyway, so I'll spend no more time on it.

    All I'm saying is that maybe you should think before lecturing other people on what's considered "proper ethics". This isn't a formal debate, so saying "omg ad hom" is a cop-out.

    I'm not going to argue theories of ethics with you; my system of ethics is based upon my experiences and observation, not from what I've learned in books (omg ivory tower fallacy or somesuch nonsense). Valuing the professor's relationship to the problem does make me change the way I'm thinking a bit, but to be honest, I've been screwed over by enough professors that I don't really care. I maintain that it was wrong for the student to ask for his work to be done, but I'll give you that it's a grey area as far as the programmer is concerned.

    Also, professors are a means to an end. In practice, most people don't care what you've learned in school; they care that you have a degree. If you bring knowledge along with that, that's just icing on the cake.

  15. #30
    Senior Member joshdick's Avatar
    Join Date
    Nov 2002
    Location
    Phildelphia, PA
    Posts
    1,146
    The only thing I think I'm lecturing about here is being honest with oneself. If you have no consistent ethical theory or moral compass or anything resembling a cogent argument to support your position, then please don't act as if your position is defensible or even worth arguing over.

    As for arguing my position, I was just looking for a stimulating exchange of ideas, not a pulpit from which to lecture. I think it's good for members of a profession like us to discuss ethical dilemmas they face. I think it's good to have an open forum so that many sides may be discussed. But merely stating an opinion without a supporting argument doesn't help much of anything.

    I think it's worth noting that there is not a lack of good arguments supporting the claim that it's not unethical to take the job. I'm actually surprised that with all the people here, no one pointed out the utilitarian point of view that no one is harmed by this activity.

Page 2 of 4 FirstFirst 1234 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Challenging GotW 66's moral
    By George2 in forum C++ Programming
    Replies: 6
    Last Post: 12-27-2007, 07:24 AM
  2. Moral dillema
    By VirtualAce in forum A Brief History of Cprogramming.com
    Replies: 40
    Last Post: 08-22-2004, 03:23 PM
  3. Moral of the day.
    By adrianxw in forum A Brief History of Cprogramming.com
    Replies: 16
    Last Post: 01-16-2004, 05:58 AM
  4. moral dilemma
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 16
    Last Post: 03-24-2002, 11:57 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21