I do a B.Sc. degree project in computer science at KTH Institute of Technology. The work included a fair amount of source code written in C and NuSMV and the report is somewhat technical even for a CS report. We had a peer review this week where I got to know

  • put the problem statement up front and clearly
  • adjust the language for a non-technical audience
  • put definitions and acronyms in a glossary
  • use the shared latex template
  • remove some duplicated text
  • update the illustrations with text and numbering
  • scale down the images so that they look better
  • maybe put in an appendix (with the code)

Do you agree that the source code should be in an appendix or is it better to put it inline or even maybe not include the code at all?

If you want to you read the draft from this link.


You should not include the source code at all, nobody will ever read it.

If the program you developed is indeed useful for other people (which is very unlikely for an undergrad project), put it on github/bitbucket etc and provide a link in your report.


Putting it into an appendix (maybe not in full but the core parts of it) seems the best solution. This is not only some sort of "proof of work" but gives examiners also an opportunity to assess whether the results generated by the code are indeed correct, so it helps with verifiability. This will be particularly important with code that generates numeric information, which you use to draw conclusions.

There are only very few cases where code should be put inline in the main body of the thesis, e.g. when you invented a new language or a new library and want to show how much easier / more readable / more concise / .. something can be formulated in your language / library and when this was indeed the main purpose of it.


You should ask your advisor - and I find suggestion #2 bizarre, to say the least.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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