Reading

When to read?
  • Hamming: If you read all the time what other people have done you will think the way they thought. If you want to think new thoughts that are different, then do what a lot of creative people do - get the problem reasonably clear and then refuse to look at any answers until you've thought the problem through carefully how you would do it, how you could slightly change the problem to be the correct one. So yes, you need to keep up. You need to keep up more to find out what the problems are than to read to find the solutions. The reading is necessary to know what is going on and what is possible. But reading to get the solutions does not seem to be the way to do great research. So I'll give you two answers. You read; but it is not the amount, it is the way you read that counts.

What to read?

  • For interesting research directions in the area
    • Find out what the best journal in the field is, maybe by talking to someone who knows about it. Then skim the last few years worth and follow the reference trees. This is usually the fastest way to get a feel of what is happening, but can give you a somewhat warped view.
    • Skim workshop papers, there are often some inspiring ideas there.
    • Google key ideas such as "DB and IR"
       
  • For a specific topic
    • A reference graph is a web of citations: paper A cites papers B and C, B cites C and D, C cites D, and so on. Papers that you notice cited frequently are always worth reading. Reference graphs have weird properties. One is that often there are two groups of people working on the same topic who don't know about each other. You may find yourself close to closure on searching a graph and suddenly find your way into another whole section. This happens when there are different schools or approaches. It's very valuable to understand as many approaches as possible-often more so than understanding one approach in greater depth.
    • Talk your idea to other people and if they said "this reminds X's work ..." or "have you read the paper by Y", find the papers and read them
    • Read PhD theses - even though they are long they can be very helpful in quickly learning about what has been done is some field. Especially focus on:
      • Background sections
      • Method sections
      • Your advisor's thesis - this will give you an idea for what he/she expects from you.
         
  • For basic knowledge in an area
    • Google some reading lists in this area
    • Some course websites have some good references
       
  • For learning other people's work
    • The best way is to go to their homepages for recent talk slides, or go to the talk in person
How to read?
  • Reading papers is a skill that takes practice. You can't afford to read in full all the papers that come to you. There are three phases to reading one.
  • The first is to see if there's anything of interest in it at all. The table of contents, conclusion section, and introduction are good places to look.
  • Once you've figured out what in general the paper is about and what the claimed contribution is, you can decide whether or not to go on to the second phase, which is to find the part of the paper that has the good stuff. Most fifteen page papers could profitably be rewritten as one-page papers; you need to look for the page that has the exciting stuff. Often this is hidden somewhere unlikely. What the author finds interesting about his work may not be interesting to you, and vice versa.
  • Finally, you may go back and read the whole paper through if it seems worthwhile.
  • Read with a question in mind.
    After reading the title and abstract:
    • What problem are they trying to solve?
    • What solutions do they propose?
    • What do I know about this area and which category may it fall into?
    • What are the applications I know that might be related?
    • How is it related to the work I've been doing or will do in the future?
    • How would I solve the same problem?

    After reading the introduction and conclusion

    • What are the motivations?
    • What are the opportunities and challenges?
    • What directions does the work suggests? Does it apply to my work?
    • What was actually accomplished or implemented
    • How do they validate their approach?
    • Is there substance and an interesting idea underneath the jargon?
    • What can be potential problems of this approach?

    After reading the full paper

    • Does this really do what the author claims?
    • Whether the assumptions and formalizations are realistic, whether they can be removed without invalidating the approach?
    • What are the choices made by the the authors (many of them implicit)
    • How about the validity (or lack thereof) of the theoretical justifications or empirical demonstrations?
    • How is it different from related work?
    • How is the potential for extending and scaling the algorithm up
    • How can I apply the algorithm or the general idea on my work?
       
  • Take notes
    • Bibliography
      • Keep an electronic bibliography with notes & pointers to the paper files
      • Keep and file all the papers you have read or skimmed
    • Tech notes:
      • On each paper: Answers to the questions in the above bullet.
      • On each topic - after you have read several papers covering some topic, note the:
        • key problems
        • various formulations of the problem they are addressing
        • alternative approaches
        • relationship among the various approaches
    • Writing:
      • Structure of abstract, introduction, conclusion, whole paper
      • Beautiful words and phrases