Sunday, July 6, 2008

Advice on doing a Ph.D.

In this post I would like to point out a few things that I have learnt while doing Ph.D.
  • Problem

    Have a clear problem statement in mind. Be clear as to why you are trying to solve this problem, what are its implications. What is it about the problem that interests you, it could be the algorithmic challenge, the implications about solving it, or as of now this is the only problem that you can think of solving :) Whatever be the case, try to be clear as to what exactly it is that you want to solve. Though this seems obvious, many people do a rather imperfect task of specifying a problem and then face difficulties later on. It is always possible that for some reason you may deviate from this particular problem to something else, however, the task of clearly specifying a problem cannot be underestimated.


  • Solving

    Having specified a problem statement as clearly as possible, the next step is to attempt to solve this problem on your own. Do not try to immediately look up the journals and conferences for related attempts. It is important to try to solve the problem on your own. Here, one can use the ideas pointed out in Polya's book "How to Solve it". This is a classic text written by a famous mathematician. While you may not succeed in solving this problem, the actual task of trying to solve the problem is intellectually rewarding in its own right! If you cannot solve the problem directly, is there a simpler version that you know to solve? What would a naive approach look like? Is there a geometric interpretation to this problem? Can you visualize the steps of a solution? Try to use all your technical skills as best as possible.


  • Reading

    Research in most fields are very active with lots of approaches being formulated. Try to keep abreast of the problems and current ways of solving. The reading that you do here should help you in the earlier step as well. You will learn more techniques through reference books and articles. Use them to sharpen your capabilities. The reading that I suggest here forms more of a background to developing your skills. While reading do it actively. Analyse the stuff that you are reading, try to indentify the assumptions, check whether they are valid, think of the possible flaws in the argument. Think of cases where the presented idea could fail.


  • Discussing

    One of the things that is most helpful while doing Ph.D. is having a soundboard to listen to your ideas and to give feedback about them. Having such a person is invaluable. In some cases it would be your advisor or sometimes a friend. But try to find some such person. But, be careful while discussing so that there are no conflict of interests.. There is a lot of competition in academia and unethical things are possible.


  • Writing

    Keep a journal where you record your thoughts and ideas. When at times you are at a deadend, go back to your journal and look back at the other approaches, is it possible to go ahead with some other approach that you had discarded earlier on? If you learn some new technique or approach try to describe it briefly in your journal. Be regular in your writing. Try to contribute something every week so that it becomes a habit.


All the very best for your research and career!
Related articles:
How to build an economic model in your spare time by Hal R. Varian
Guides to surviving computer science grad school by Robert Azuma