I am currently an undergraduate thinking about doing a Bachelor's thesis (and publish one or two papers if at all possible). I have found an advisor in computer science (artificial intelligence). I have begun to review literature suggested by my advisor. Most of the times I can understand the general idea of a paper (and why it is novel or important). However, very often I can't understand all details of it. Sometimes it is the lengthy math proof that I can't follow and sometimes it is the algorithm description that lacks too many details for me to code it up by myself.

So is it necessary or recommended for me to figure out everything in a paper? I can certainly ask for advisor all questions I have about a paper but I do not feel good about it. I think it is a kind of wasting his time to go through all mathematical details that support a major claim which I have already understood. Also I want whether this aspect of literature review is different if I am an undergraduate vs. PhD student vs. professional researchers.


2 Answers 2


I would posit that there are three general levels of depth to which you need to understand a paper:

  1. Understanding context: For anything related to the work that you are doing, you need to be able to understand it well enough to explain how it relates to your work, and why it should or should not be directly compared. This is the "general idea" level that you describe.

  2. Direct comparison with other work: For work that is closely related to your own work, you will likely need to be able to make a direct comparison, possibly even by running instances of the other work on the same problems. Here, you need to understand at least well enough to correctly apply the other work and to make a cogent comparison of the relevant qualitative and quantitative attributes. You'll probably need to understand most of the paper for this, but not necessarily all. For example, you might not need to understand the proof of an algorithm's correctness, but would need to understand its uses and performance characteristics.

  3. Building on top of other work: For work that you are actually making use of in developing your own work, e.g., by using it as a component or by extending a prior technique, you need to understand it very thoroughly indeed. This is the level at which you really do need to understand everything in the paper.


This depends on how the paper is related to your problem. Since this is a Bachelor thesis or project I would assume it has a specific problem and doable in couple of months (maybe over one semester or so) and the results hopefully would be published in one research paper. For example, a learning algorithm for structure X. Usually, the number of directly related papers to your problem is very small compared to the number of related papers. So all you need to do is to try understand (in this case the algorithmic part) of one or two directly related papers. You know you understand them if you explained their similarities/differences and write their algorithms in your own way.

If, on the other side, your problem includes proving something then you need to look for how the paper proves something. Advisors are there to help you when you stuck. Moreover, many papers can be understood if we read about their techniques/terms from other sources. For example, a constrained learning algorithm cannot be understood without knowing what is constraint satisfaction/optimization.

I always find it useful to start writing the content of my research paper (at least the section names) before having the results. If my paper is going to be a mathy one then I need to understand the mathematical stuff out there. If not, I would skip long mathematical proofs.

In short: i) start writing the content of your paper ii) you will see the gaps iii) read the papers content that would fill the gaps.

You must log in to answer this question.

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