9

I am creating a software application for my bachelor thesis. I have found a book that guides me through the whole implementation process of my problem, as well as a source code and I am following the book. I am using Python instead of Java (which is the language used in the book). I am going to add some other functions too but more or less 90% of the application is based on the book. For sure I am going to reference it but it is for a thesis so I don't want to take my chances. Is it considered plagiarism if I follow these steps?

(I have tried other techniques as well but this seems like the most straightforward solution)

2
  • 7
    Discuss that with teacher or advisor Commented Aug 10, 2023 at 17:24
  • Do the proper citation or quote following academic rules Commented Jul 13 at 17:29

4 Answers 4

32

As long as you give proper attribution, you are not plagiarizing.

You could be violating copyright if you use code verbatim that is not licensed to you for the purpose you are using it, but it seems likely to me that the code in an educational book would have a pretty broad license.

However, you should definitely check with the person who is advising your thesis about expectations for your thesis. A bigger problem for you is that a thesis project is usually expected to have quite a bit of originality. Even if it's a collection of things that have already been done (a review/survey sort of paper), the expectation is likely that the collection part is novel/your own work: the part where you decide what to include. If you're working almost entirely from one source, you're not really doing much collecting to add value to your thesis. On the other hand, if these are just some necessary programming "pre steps" that get you towards the actual work you're doing, that may be totally fine. Ask your advisor. I'd also consider that if someone has written a book to show how to implement this thing, there's probably an existing Python package available open source that you could work from, instead, which would save you time and let you focus on the important parts.

It's not plagiarism to hand someone an entire Stephen King novel if you are clear and honest about saying "This entire book was written by Stephen King, and the only thing I've done is to obtain it from the library and hand it to you", but it won't earn you credit for completing a bachelor's thesis, either.

8
  • 1
    The thing is, my application focuses on a tweak to a concept that is in the implementation. There were many other existing applications I could use for this purpose but since it is a thesis I decided to do the whole implementation myself. I will ask my advisor because his expectations might have been different.
    – MOLD
    Commented Aug 9, 2023 at 21:07
  • 1
    @MOLD If an existing application is open-source, you may still be able to tweak the implementation. But yes, your advisor will be the best person to guide you on this.
    – Bryan Krause
    Commented Aug 9, 2023 at 21:15
  • I did research on this too, and I have understood the theory perfectly, all the math sits well, I just couldn't fit them into an application. I am doing a joint major (Maths and Computer Science) and Computer Science is the one I am 'less good' at. This book basically pours all the theory I have read until now into code.
    – MOLD
    Commented Aug 9, 2023 at 21:17
  • 4
    " I just couldn't fit them into an application." part of programming is "problem solving", but by following detailed instructions and transliterating to a different language, you are not demonstrating problem solving skills. So that would be something worth clarifying with your project supervisor. Problem solving is probably the most important skill in programming, it (and understanding the code) is the way we can add value to ChatGPT ;o) Commented Aug 10, 2023 at 12:41
  • 1
    Note, however, that some instructors have a much stricter idea about "plagiarism" than is standard in academia. You would be wise to check this with your instructor to be sure.
    – Buffy
    Commented Aug 10, 2023 at 12:50
5

That's what citations and attributions exist for. You simply attribute the algorithm to the source you got it from and then continue to write about your own work, implementing said algorithm in a different coding language.

Also, rest easily knowing a bachelors thesis rarely goes beyond researching papers and the state of the art and bring it together for your certain little topic. Bachelor thesis is just your first step, proving you're capable of scientific and academic research, which for a big part is correctly attributing and citing. Also, chances are high that, besides yourself, your advisor and anybody to whom you share your thesis, nobody is ever going to read it anyway.

0

Iff you use it, comment your findings regarding WHY this book is better than the lots of other solutions you have read about.

Porting a software from language A to language B is not the achievement. It's the average programmers day job. The thing you maybe can score a little with is the comparison work, if done right.

Did you do proper research? Or is it just your hunch that this code from the book is better? And what means better? And did you prove that the code is correct? Is it efficient? What's the complexity? And is your solution working better not only in average case, but for all edge cases as well?

If you don't know what is meant by all that, use research about sorting algorithms as guidance. There are a ton of papers where people argue why some algorithm is better or worse than another, under which conditions.

Document that you thought about all that deeply. And don't hide the flaws. I'll bet you will find at least one, if you start looking deeper.

0

Its really hard to give specific help if you are vague about your project scope, and what exactly you are trying to do. However, I will try my best:

  1. Porting code from Java to Python is really not that huge of an achievement considering the similarities between the two languages.

  2. You mentioned how the book guided the entire implementation of your thesis. Does that mean your entire thesis is based on the book? I'm struggling to understand how a book can simply guide the implementation of what should be a piece of exploratory work on your end.

To answer your question, it likely wouldn't be considered plagiarism. However, this is the same as me copying an entire research paper verbatim and citing it. It isn't strictly plagiarism but it is obviously a pointless exercise.

Without any additional information, I am quite confused as it seems like your entire bachelor's thesis is based on a book that already explored the topic for you (much less actually provided the implementation).

You must log in to answer this question.

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