Science moves forwards by building upon the work of others. Other researchers have spent time and resources on investigating the area you do your thesis project in. By adding references to previous related research you acknowledge the work of others.
Another important reason to use references is to give validity to your claims. In research, you must back up your claims, either by referencing to other researchers who have shown that the claim is true or by presenting data that shows that the claim is true.
The third reason to use references is to give the reader the possibility to look up the sources you have based your research on.
You are required to use references in your thesis report. It is okay to have some references to online resources such as Wikipedia and tech articles, but you must be aware of that claims from online sources are not very strong/have low validity. You must have references to published research from conferences, journals or textbooks in your report.
A citation is when you exactly copy a text, word by word, from another author. All citations shall be written within quotation marks, “, and there must be references to the sources. Example: Albert Einstein once said that “Logic will get you from A to B. Imagination will get you anywhere.” [ref to source].
You shall not use citations for longer text blocks such as a whole paragraph. In such cases, you instead rewrite the text in your own words. Citations shall only be used for short texts such as one or a few sentences.
Plagiarism is when you exactly copy a text from a source without using quotes. You must always use your own words when explaining theories, algorithms, the work of other researchers, etc.
You want to explain in your report what a software architecture is. You find the following explanation on Wikipedia:
Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations.
You are not allowed to copy this text word by word into your report. That would be plagiarism. Instead, you rewrite the explanation using your own words, for example like this:
A software architecture is the high-level structure of a piece of software. It is used to show which modules and elements that are part of the software and how they are connected. The software architecture is very important when reasoning about the software system and when taking design decisions during the development of the system.
If you are unsure if some text part in your report can count as plagiarism or not, ask your supervisor for his/her opinion.
The final version of your report will be checked for plagiarism using the Urkund tool. If the examiner notices some parts that can count as plagiarism, you will be asked to rewrite those parts.