Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have used the web and Stack Overflow extensively during the past month or so in creating my final project for my C# class. I have used so much code that I didn't write myself that I feel I am being unethical by not giving proper credit to the people who helped me; or the websites that have provided excellent examples.

Is it unethical to publish work which was created by me, even though its hardest problems were solved by other people? Should I credit these people for helping me with my assignment? Or the web sites which provided examples?

share|improve this question
2  
Do you understand the principles in the code that you have used from SO/SE? –  Mauro Dec 11 '11 at 13:15
    
Yes, I was learning from whatever I am referring to. –  HelpNeeder Dec 11 '11 at 20:26
2  
as long as you learn from it, is it any different to reading it in a book ;) –  Mauro Dec 12 '11 at 7:44
    
The ethical boundaries for cooperation vary from institution to institution, and even assignment to assignment. Why are you asking random people on the web when you could get a definitive answer from your instructor? If you are asking here because you are afraid your instructor will turn you down, then that's an answer too. –  Charles E. Grant Dec 14 '11 at 5:01
1  
the main problem is not giving credit where credit is due, passing off the work of others as your own. And that's exactly what most you homework kiddos do. –  jwenting Jun 1 at 3:29

3 Answers 3

up vote 8 down vote accepted

Think about it like this: It's a class. The purpose is for you to learn things. It does not really matter whether you learn them from the teacher or from some website, as long as you do learn. And the purpose of the assignment is twofold: having you learn actively (by using your knowledge, which tends to make it stick better) and having you prove that you've learned. The result will not really be "published" in a meaningful way.

Considering all this, there are only ways in which your behaviour would be unethical is if you used all that code without learning from it, and either

  • The class is graded on a curve and your getting a better grade than you should might cause others to get worse grades than they would otherwise have gotten.
  • You use the diploma or certificate gained through that class to misrepresent your actual skill level to prospective employers.
share|improve this answer
1  
Sure. But then the questioner should accept the zero they get for the assignment by not submitting the final project. Because it wasn't their handiwork. Even though they probably learned a lot in the process. If they're lucky, the instructor will grade the course based more heavily on things known (as typically indicated by examinations) than on projects submitted. If not, well, that's the problem with letting the net answer your homework. –  Ross Patterson Dec 14 '11 at 14:39
    
@Ross Patterson: Of course it was their handiwork. They just asked for help with some of the details. That's how you learn, especially so in the case of learning programming. –  Michael Borgwardt Dec 14 '11 at 15:27

I think you should cite your sources, and bother most about learning more.

Homework is not useful per se, it is a mean for you to learn things. If you didn't learn enough, you are the loser (not your teacher).

share|improve this answer
    
Sure. Unless you're talking about a homework assignment, as the questioner is. –  Ross Patterson Dec 14 '11 at 14:36

Yes, it's unethical. You write:

I have used so much code that I didn't write myself that I feel I am being unethical by not giving proper credit to the people who helped me;

It's your final project. Not the web's. Not Steve McConnell's. If you're submitting code you didn't write, that's plagiarism, and any decent instructor who caught you would at least give you a zero, if not drop you from the course.

Put differently, if you submitted a final paper to your English Composition class composed largely of paragraphs you copied from Hemingway, Shakespeare, Thoreau, and the Encyclopedia Britannica, you'd deserve the same fate.

share|improve this answer
    
Well, yes and no... I have created an idea of my project; made it look like I wanted to; some people on SO helped me decide how to print out my output; I have found good open source example of encoding/decoding which I have used and such things. It's more like writing your own book and use consecutive words that might refer to other books words but don't have to. I mean this does sound unethical, but isn't as bad as downloading already created open source program and turning it in. People and examples helped me with filling the gaps more or less. I do understand you point of view though. –  HelpNeeder Dec 14 '11 at 6:01
    
Plus, I have released the software as open source program, free to use. I look at this as a learning tool more than plagiarism. –  HelpNeeder Dec 14 '11 at 6:03
    
The ethical question is in what you do with the result, and in the degree to which you've used the work of others. You described the result as "my final project for my C# class", not as an open source program for use by the world. The standards for the two are radically different. Go ahead and release the code, with proper attribution to anyone whose work you have incorporated in any reasonable amount. But don't submit it to your course. –  Ross Patterson Dec 14 '11 at 14:34
1  
I think you're applying a pretty ridiculous standard. English Composition and programming are not even remotely comparable. And no decent instructor would fail or drop a student for not writing all the code himself. There is absolutely nothing unethical or wrong about using small pieces of code freely given by other people to solve specific problems within a larger project. That's how software development works. –  Michael Borgwardt Dec 14 '11 at 15:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.