I'm an undergraduate in CS and I had a class in Adv. Data Structures & Algorithms in the spring of this year. Near the beginning of it I was pressured by a fellow classmate to "google pseudocode examples" and use them to do my labs. I guess the point here was that it wasn't copy and paste (being pseudocode) and still had to be adapted to the language for the class. I did something like that once to finish an assignment in that class (most of the code was my own that I solved myself). None of this did felt right to me, but again I felt pressured. I heard a lot of chatter from fellow students concerning the using of pseudocode. Again I didn't feel this was right.
Time passed and I forgot about it. The school recently sent out an email survey regarding plagiarism. That's what got me thinking about the previous semester. I want to note that I've never plagiarized in my life and I make every effort to avoid it [I have principle's]. I also have a good definition of what plagiarism is, to a point I think I understand this better than most.
So my questions are: is using pseudocode examples an act of plagiarism? If so where do I go from here? Shall I email the instructor openly and honestly tell them what happened?
Honesty is one of my principle's. I'm posting this here in the hopes that some of you will understand that. Logically it sounds like using said pseudocode is an act of plagiarism (the idea's are the same). Its still ambiguous to me, I need to know what others think.
Plagiarism is when you claim somebody else's work as your own. We most often hear about it with regards to words or images, but it can just as easily be applied to other types of intellectual work as well, including pseudocode.
The critical question, then, is whether what you have done can be reasonably understood to be claiming the work as your own. This depends on the particular assignment, but the cases here fall into two general categories:
- If the assignment is asking you to create a piece of code, then finding a piece of pseudocode that does the same thing and translating it would be plagiarism because you are pretending to have created the code yourself, when in fact you have not.
- If, on the other hand, the assignment is asking you to create a complex system, one component of which happens to be implemented using a subroutine that you have translated from elsewhere, then it is essentially the same as finding an appropriate library call and entirely acceptable (unless there were rules clearly intended against such). In this case, the creative work is the assemblage, and you are not representing that particular fragment code as your own --- though it is best practice to be explicit about your sources in comments, for copyright and license reasons.
Given that your professor was encouraging the use of outside resources as part of the project, it seems to me that what you describe is both ethical and normal practice.