I need an advice from experienced programmers and university students regarding plagiarism and academic dishonesty about programming projects.
I was given a C++ assignment to calculate the hash key of string variables using Horner's method. Anyways, for some reason, my code was causing a segmentation fault, and I asked a friend of mine to explain how to do the algorithm. He explained me the steps by giving me an example using a string. At the end, our functions were looking really similar(about 90%) in structure except for different variable names.
I was wondering what to do if my professor calls me on that?
My intention was clearly to learn and understand the steps for implementing the algorithm, and not getting the actual code. Please help, thanks.
this is my opinion There is a chance that given two programmers solving the same problem under the same requirements and language that their end code structure might be quite similar
for example, if i give this problem to ten people there is a high chance that 5-7 would have
similar code:
-write a function that calculates and returns the average of an array containing 50 real
elements
1 2 3 4 5 6 7 8 9
//real average(array,limit) //pseudo
{
//for element 1 to 50 in array
// add elements
//calculate average
//return average
}
as you can see the requirements of this problem dictates the overall structure, it is
highly possible that there isn't another way of solving the problem and i would say if
you are genuine, i don't see the reason to be worried.
Professors can tell if you copied. Comments, variable names, style, ... little things.
when I was in school we had to store the code on the school's unix drives and people were stealing the actual code from each other. So a friend of mine and I build a simple but good enough encryption and ran it over our files.
all mine did was:
cin number (password)
srand(number)
for(all the bytes in the file)
byte ^= rand(); //note that the same code encrypts and decrypts.
its probably breakable, but anyone good enough to break it probably does not need someone else's homework.
Honestly, at < 250 level classes, professors don’t actually care. (Typically.) It isn’t worth their time. Outright plagiarism at that level only hurts you in the future.
And, as Yolanda opined, for the simple kind of things you are doing right now, a simple function will often look very similar, and is actually to be expected. You are learning how to do things now, so a lot of what you do is simple reblandishment of what you have been given.
When you are asked to submit a more complex assignment (one requiring several functions and some careful code structure), then it will be blaringly obvious which assignments are carbon copies of each other, even when students think they are smart by renaming variables and stuff.
If your professor does ask, tell him exactly what you told us in your OP. Unless he’s a total jerk, he will understand, and may even give you suggestions for the future in his class.
Thank you for sharing your stories and suggestions guys.
My assignment was around 500 lines, and hash key was the only function that was quite similar to my friend. However, we have different namings and commenting which clearly shows that the intention was not copying each other's work, but instead to learn the steps for finding the right solution.