I am considering pursuing a PhD in computer science one day. I guess specializing in (is that the way to put it)?
What I want to focus my research efforts on. I am interested in:

  1. Manned/unmanned space exploration (writing guidance/navigation systems for the next Mars rover, etc).
  2. Finding cures for diseases (folding @ home).
  3. Computer models of climate change, as I am very much a person that thinks "Global Warming is real and needs to be dealt with yesterday".

But this questions isn't "what should I do research in" but more of "how can I decide what I should do research in."

I know a lot of people will counter with "if you don't know what you want to research then you shouldn't be considering getting a PhD", but I don't believe in that line of reasoning. I want to do research and to be involved with something that expands the boundaries of Computer Sciences as we know it. Just because I am not exactly sure what avenue I should go down in doing so, doesn't in any way change how much I know that I do want to do it.

So where do I start with figuring out my specialization?
What are my theoretical options?
Where can I see if "getting my PhD to write software to guide probes to Jupiter" is even a viable option?
Must I choose a area that is currently being researched at the university I attend, or am I free to come up with my own?
Can/should I be reading recently released papers on Computer Science topics for some inspiration, and if so where do I go to find those?

  • 1
    What is "CC program"? What was your 1st degree in?
    – 410 gone
    Dec 3, 2012 at 6:31
  • Related, possible duplicate
    – 410 gone
    Dec 3, 2012 at 11:07
  • 2
    You should definitely read literature on a field that you're excited about. You can narrow it down to literature about the questions that excite you. I'm in a similar situation currently and I am working on SLAM papers since that excites me more than other stuff.
    – Naresh
    Dec 4, 2012 at 6:37

6 Answers 6


This is one of the harder questions you'll have to ponder, and one of the most useful. First off, realize that your choices are not (completely) irrevocable. Many researchers shift areas every 5-7 years or so - the changes are not dramatic, but over time you can make useful contributions in a number of different areas.

Having said that, what you are looking for is a broad topic that will presumably take you through the 5-6 years of a Ph.D. To look at your questions one by one:

Where can I see if "getting my PhD to write software to guide probes to Jupiter" is even a viable option?

Do you know of people working on this ? maybe at NASA ? Where did they do their Ph.D ? what kinds of topics do they publish in ? What I mean is that one way to figure out if "Ph.D in X" is viable is to see if there are people doing X, and then figure out what their trajectory was by looking at their publications, CV etc

Must I choose a area that is currently being researched at the university I attend, or am I free to come up with my own?

It depends. You're in an MS program, and you haven't mentioned whether you're planning to apply elsewhere for a Ph.D. An MS is a good time to explore your options with people at the university, burnish your research credentials, and build some background in areas of interest. Obviously it helps if your area of interest is covered, but even if it's not, figure out related background that you need, and maybe look for someone doing research in a related area. Also see which places/people you'd like to do a Ph.D at based on the area, and that will give you a sense of what kind of extra reading/prep to do.

Can/should I be reading recently released papers on Computer Science topics for some inspiration, and if so where do I go to find those?

But of course ! but you should try to focus your search a bit. There's a large body of work in each of the topics you listed, and google is your friend. Once you find even a few papers, you can figure out where they were published, and then look at other papers in those venues, and repeat.


I know that I'm going to get downvoted for this, given the preponderance of computer-science people here, but my advice is:

Don't do a Computer Science Masters.

Quickly work out which are you want to do programming in, and switch to a Masters in that.

So, in your case, a Masters in Climate Science. Or rocket science.

Domain knowledge is really crucial for building useful models. Academically pure programming will help you write code to please the computer-science purists. But if you don't have the domain knowledge, it will be useless.

I've worked on many many dozens of successful applied programming projects. None of the useful models were written by people with postgraduate qualifications in computer science (but several of the useless ones were).

Alternatively, finish your Masters in Computer Science, and then do a Masters in Climatology, or rocket engineering, or whatever.

Then you'll have the best of both worlds: domain knowledge and postgrad-level programming skills. The best universities are developing in-house Research Software Development capacity, which seek to unit the two, and you could be part of that.

  • 8
    I won't downvote you but would that advice be given to anyone trying to go for a CS major? Domain knowledge is important of course but why would doing a major in CS mean that domain knowledge can't be gained afterwards/in parallel?
    – recluze
    Dec 3, 2012 at 12:04
  • 8
    CS in not at all about “pure programming”! Based on OP's question, he might be interested in research in Artificial Intelligence, Machine Learning, Robotics, or Bioinformatics.
    – Yury
    Dec 3, 2012 at 15:19
  • 8
    MS degree in Computer Science, in general, is not about programming. Say, as an MS student, the OP may take very useful courses on Machine Learning, Bioinformatics or both. There is no reason why he should quit the program. I strongly disagree with your advice.
    – Yury
    Dec 3, 2012 at 15:39
  • 3
    I have no idea what "theoretically pure programming" actually is :). MS students don't learn any kind of programming: rather, they learn advanced concepts in different areas of CS (including the ones that Yury lists)
    – Suresh
    Dec 3, 2012 at 16:02
  • 1
    What is this "programming" of which you speak, earthling?
    – JeffE
    Dec 3, 2012 at 16:48

I would like to put in my two cents here. It looks like the type of areas you are interested in are related to Artificial Intelligence. I am not suggesting you jump the AI bandwagon but I do recommend starting to read on this area alongside your normal studies. Find some of the latest AI journals and skim through (at least) the abstracts to see what people are doing nowadays. Global warming and unmanned vehicles are huge issues. You would need to narrow this down to a particular area and make your contribution there. You can't solve world-scale problems all in one MS/PhD.

Read up and make a small contribution to the existing knowledge. Maybe you'll one day make a huge difference but, as the saying goes, even the journal of a hundred miles start with a single step.


Some opportunities that you are likely to have:

  • Attend seminars, especially those given by outside visitors. Ask "stupid" questions after the talks.

  • Go to dinner with the speakers after the talk. In math we always take visitors out to dinner, and usually the attendance is quite poor, even when the speaker is famous. Needless to say, this is an opportunity.

  • Talk to Ph.D. students. Find out what they are doing. Does it sound cool?

  • Talk to postdocs and junior faculty, who are likely to have recently come from elsewhere. How was their experience? How did their previous departments differ from your current department?

  • Do an excellent job in your coursework, or whatever other requirements you have now. This will prepare you well for your future, and it will also prod professors to help you out and open doors for you.

Good luck!


One way is to do projects in several different areas. You'll like some projects better than others, and then you can study the corresponding field.

Alternatively, you can talk to current grad students about their work, and try to get a sense for what their lives are like. Ask them what projects they're working on and see if you find them interesting. I would also ask them about the most interesting or fundamental papers in their field, and take a glance at those.


I am a Ph.D. Student in Bioinformatics with a previous background in Computer Science. Everything is going computer-based in today and near-future world. Even wet lab stuff going online/cloud and becoming yet another type of coding. Knowledge is cheap and interdisciplinary endeavours are the key to the future. The title of degrees is not as relevant as what you actually want to do.

If your questions are coming from other domains, you might need to pursue your research in programs that are more interdisipilanty. If you want to cure disease go study under drug discovery and computational biology programs. If you want to do aerospace research, go do it in an aerospace program, etc. Your background is being valued very much as long as you show passion to learn more about the specific domain of knowledge you want to pursue.

Classic computer science departments, depending on the university, of course, could be disappointing for people with applied, multidisciplinary interests. The level of abstraction people follow can be a bit disheartening if you want to make a real difference. Also some colleges, departments, etc don't see the computer scientist "migrants" as one of them in a sense that they do not consider you a "real biologist", or a "real climatologist", etc, etc. That is another for another time though.

You must log in to answer this question.

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