Right now I am preparing a paper for my bachelor's degree thesis in computer science. I myself is an active programmer at work in my company and have created many programs till now.

I want to take some of my programs and take it for my thesis paper, my supervisor the program itself is good and I also can be promised a good grade too, but he still can't accept my paper because it does not have a Methodology in there. So my paper got rejected.

I wonder why the thesis really needs this methodology inside of the paper. But of course, I'm not that clueless to think that everything I make is always the original method I make myself. It just I always self-studying for programming for almost 5 years, so there might be someone method in my program but I just don't know what method I use or who make it.

But still, it kinda frustrating to get rejected just because there is no methodology mentioned... Why methodology is so important anyway?

  • 32
    Methodologies make work repeatable
    – user2768
    Commented Jun 3, 2020 at 9:53
  • 20
    No method, no science. Commented Jun 3, 2020 at 19:00
  • 5
    How can you produce working programs without knowing how they work? Methodology means just that: Describe how your algorithms work.
    – Polygnome
    Commented Jun 3, 2020 at 22:09
  • 4
    @hakimhomecent While this is unfortunate at first, if you like what you are doing (software development) it may have been for the better to have been trained a good programmer rather than an academic. If you have a good portfolio and satisfied clients, I'd just ditch the (quite meaningless) degree and simply ask search for a position in your expertise. It's more likely to find a non-academic job anyhow, many (great) academics that even did their PhD in CS are afterwards forced to go the programmer route even with no experience, since there are no open academic positions.
    – ljrk
    Commented Jun 4, 2020 at 8:29
  • 7
    @hakimhomecent What you are describing is software development, not computer science. But even in software development you'll have to be able to communicate how to solve problems if you ever want to work in a team.
    – Polygnome
    Commented Jun 4, 2020 at 9:21

6 Answers 6


Computer science, huh?

I think that the issue many forget with the name "computer science" (and that's why "informatics" as a word exists at all) is that it's not about computers. Well, that was harsh. It's not totally about those small silicon dies and such. It's about information processing. And it's about ideas.

Basically, "we wrote a program, hurdur" does not cut it. Even "we wrote a program, here is the github" does not cut it. "We got this cool result" is cool. But what most people would be interested in – on a large scale, in 10-20-100 years, – is not that you used an i7 chip. It's not that you wrote it in Python. It's the idea. The essence. The thing you write in methodology. Your very future readers would not care about your source code (even if it's available). They would be trying to implement your method in SuperCoolFunctionalNeuronQuantumSnake++#XXL that would be popular in 40 years. And what they'd read, is methodology.

tl;dr: Methods would persist, programming languages and even results would not.

  • I got your point sir, but i still don't get it why. i just seen many thesis from my alumnus in library and most of the method they use almost doesn't make sense many of them doesn't even related to their result, worse some of them doesn't even related to their thesis. I also contact some of my alumnus to ask why they choose the method they use. Many of them said they just search randomly and add that to their paper so their paper can be accepted. This makes me question more, so what is the purpose of the methodology. Commented Jun 4, 2020 at 4:41
  • 8
    @hakimhomecent Could it be that you confuse a "related works" section with "methodology"? A methodology section most certainly can't be added by randomly searching and adding material, as Oleg mentioned you should describe the concept / idea / essence of your work in a methodology section. Related work would be to mention anyone that already worked on that or similar ideas and contrast it with your own approach.
    – Haini
    Commented Jun 4, 2020 at 6:28
  • 7
    @hakimhomecent if these papers are that bad, then your University is bad for accepting them. Considering that you were able to study CS without methodology, this seems very much the case.
    – ljrk
    Commented Jun 4, 2020 at 7:15
  • @Haini But you can't write your own method right ? we need to put somebody already published method and put it in our paper. for example "Forward Chaining", i simply going to said that its a method to search some data. but we don't know if this method really will be usefull or even used at out program or not, i don't even have a confidence to defend the method i don't know at thesis defense. in fact many student struggle at the submission of titles not because there is no idea of what title to use, but we are struggling because what method to use. Commented Jun 4, 2020 at 10:01
  • 7
    @hakimhomecent: If you can't figure out what scientific method you used in your projects, then that may be due to either (a) simple lack of knowledge and experience in doing science, which is fine, since that is part of the reason you're studying, and your advisor may help; or (b) you're indeed not doing science. E.g., you can do scientifically design a super-intuitive user interface for sudoku, scientifically search for a faster sudoku solver algorithm, scientifically find a formula to enumerate the number of possible sudokus, but merely programming a sudoku game is probably just not science.
    – RQM
    Commented Jun 4, 2020 at 20:52

Research normally starts with a question to be answered, with a statement of knowledge expected to be gained from the research. Research is about extending knowledge, basically.

There are a lot of ways that a research question might be answered to come to some sense of truth about the state of the world. Choosing one and describing it is the Methodology. It needs a description in the paper so the reader will know how you went about answering the question and can get a sense whether it is likely to be valid. It also provides a way to repeat the research to see if it can be replicated.

In some CS fields, the methodology depends on some data. It might be necessary to describe (methodology) how the data was gathered. But not all research is like that.

In language research, for example, one (formerly, perhaps) significant line of research was in building fast garbage collection systems. There, what the researcher mostly did was create some new GC algorithm and implement it. But that wasn't the actual research aspect, though it was the major aspect of the work. The research question was "Is ... a more efficient GC system?". The methodology was to test the new algorithm against the best known systems under a variety of conditions and to compare results. This is where the knowledge part comes in - knowing that yes/no, this is an advance. So, folks got their PhDs, not for writing the cool algorithm, but for showing how it is better than others in some way.

So, while developing the algorithm/program seemed to be the important part, it was actually a demonstration that it is/isn't an advance that makes it worthwhile.

In other fields the methodology is, of course, quite different, but just as important. But you need to be able to describe the approach of the research.

I'll note, however, that some advances aren't arrived at through a research program but through pure serendipity. When these are written up, there may not be a methodology to describe other than to lay out how it was discovered that the new thing represents an advance. That may lead to research to verify the claims of course, and then a methodology is required.

  • 1
    TIL that zemblanity is the opposite of serendipity: "making unhappy, unlucky and expected discoveries occurring by design".
    – WoJ
    Commented Jun 5, 2020 at 11:35

If you just show some results, how does anyone know how you got there? You need to show what process created your results. Otherwise you may be liying, or just wrong. But no one would be able to check, as you have not explained the methods used to reach your conclusions. Methods is as, or more, important as the results.

The methods section does not need to be original, it needs to be descriptive. If its original, better, but not required.


I do not want to get overly philosophical here, but you may want to question yourself what is the purpose of science papers. Science papers aim to teach things that are true. The more general the truth is, the harder is to prove (and to teach) it. So people tend to be specific: "If you have this situation A and want to achieve this result Z you can do X (considering B,C,D)." This union of an "algorithm" with the conditions for its execution is called a method. Is something guaranteed to happen (up to a certain confidence). Even if the phenomenon happened 100 times of 100 experiments, you just tested 100 times. Be aware to not say you have proved things, you have at best shown strong evidence for something.

What you were describing were reports. Maybe technical reports, as they may include code, benchmarks or some analysis. "I've done A and B and achieved C". It could be by pure luck. It could be because you are an awesome programmer. It could be because you have an impressive hardware. But then someone would read your paper in another situation (with a different programming language, with a different hardware or with some slightly different problem definition) and your solution wouldn't work. But maybe if you had written how you came up with those ideas in a systematic way, the reader would understand what he/she has to change in your line of thoughts to achieve the same result. Imagine it as an engineering brainstorm with future readers: put diagrams, put code, put interesting sources. Explain it to your peers as you would do in your company (but please be formal).

Systematic ways of idea generation are something on the line of "I've enumerated all possibilities and made a small program for each one, then showed that I can compose these programs...", "I've read this paper and changed it in this part"... It has to be something that the reader could reproduce itself, it can't be "I just came with this idea" or "I invented this algorithm".

So the first question you have to ask, for each result, is How?. Show your thesis to freshmen. If they understand perfectly how you have done it, it usually is good to go.

For a bachelor thesis, usually this is sufficient.

Remember, the bachelor thesis is about generating knowledge, not results. It shows that you are not a code artisan, but a computer scientist.

I will continue the discussion because you may find it useful.

When you are interested in actual science, How? isn't enough. The second level is Why does it happen? Not only you have to describe precisely what you have done and the steps of what you've done, but you have to explain why it happened and why it will continue to happen (or what are the conditions for it to continue happening). This usually encompass a Master thesis.

To achieve a Phd, you will be asked not only how, not only why, but When?. When did someone said that? If the answer is never, congratulations, you have made a new contribution to science. Of course you will have to show (in a systematic way) how you obtained the result of knowing that no one has ever reported your thesis.


Research is an iterative process and a breakthrough in any field is an indirect collaboration of many researchers, independently working on the same problem, and coming to a similar conclusion. You or other researchers need to be able to reproduce the results of a peer and then be able to make minor tweeks to improve on the idea. Your individual implementation may never be run by people interested in reproducing your results unless they use it as a benchmark for their system or they get wildly different results with their own implementation. Having your methodology along with your results ensures that other researchers can either corroborate or disprove your findings.

Let's use a simple example for the sake of illustrating the importance of including methodology in your research paper:

I'm doing a (silly) experiment to test what sorting algorithm sorts a list of 10000 words the fastest. For whatever reason, I decide to test each algorithm 1 time with a different random list of words and come to the conclusion that bubble sort is the fastest sorting algorithm. You, for whatever reason, find this research interesting and decide to change some parameters. You test each algorithm 50 times with 50 different but constant lists of words and find that quick sort is the fastest.

Arguably my original research would've never made it through review but for the sake of simplicity, imagine it did. This silly experiment has very little going on but real projects could have many more moving parts. Researchers may run your experiment many times and in order to observe meaningful changes in their results, they need to know they have changed as little as possible.

The long and short of it is you've finished the difficult part of your paper. All you have to do is add a section that describes what methods you used to find your result. It really does not matter that you used code other people created to get your result because we all do that with packages, modules, open source projects, etc. The primary function of the methodology section is to ensure other researchers can reproduce your experiment and make minor adjustments.


So. This is going to be a very cynical answer. Take it for that. You are writing a paper as a requirement for your bachelors degree in computer science.

Firstly, computer science is an academic subject. Academia is all about writing papers following a specific format. The roots of computer science is from mathematica, not to be confused with engineering. Programming is engineering work - aimed at getting a result. As a contrast, in computer science what matters is if you could get your paper published, not about the actual result as such. So the purpose really is not to get a result, as in doing good engineering, but to show that you can follow the rules *). The roots in mathematica also shows in that proofs and logical reasonings is more important than actual applications. In programming work, engineering work, it is quite the contrary, the application is all that counts.

(As a side not I might add, that sometimes things in academia, supposed to be totally unusuable in the real world, become extremely important later).

Secondly, this is a Bachelors degree, just about the lowliest of them all. No-one expects a bachelor to really do research or actually add something to academia. It might be good if you actually add something when doing a doctors degree, but it really is not required.

But, just maybe, your supervisor has a good feeling about you. He, beeing an academic, might see that if you simply add the needed parts to your thesis, it could actually be not as bad as a lot of the other.

So the advice is simply, switch hat to a the academic hat and finish your thesis.

*) Addition: Follow the rules includes having the required sections in your paper. One section in this case, actually in many academic areas, is methods. Additionally an overview of previous litteraturs with correctly formed references is another part of the recipe.

  • While it's true that the professor in question is surely approaching this from an academic perspective, this answer doesn't address the question of why methods sections are important for theses. Commented Jun 5, 2020 at 1:48

You must log in to answer this question.

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