Thinking about a Ph.D. in computational science

Several times a semester, I am asked by students coming from a background in engineering or the hard sciences about the possibility of pursuing scientific computing either through a graduate minor or a Ph.D. in computer science. I usually point students interested in a graduate minor toward our computational science and engineering minor field, which is often a better fit for what they want. But answering the question about getting a Ph.D. in computer science is trickier. I wrote a reply to one such message last night, and I think it might be worth summarizing what I said for my own future use.

Computational science work is naturally interdisciplinary, and it’s helpful to approach it with a broad background in computer science, mathematics, and some application area. Some universities have interdisciplinary CSE programs that make these breadth requirements explicit. At most places, though, computational science research takes place within departments of computer science, mathematics, or application fields. Departments have their own breadth requirements, and these requirements make it impractical for most people to do a Ph.D. in a field where they lack significant undergraduate coursework. For example, a graduate student in computer science at Cornell is required to take competency requirements in artificial intelligence, programming languages, systems, and theory. These requirements would be quite challenging for a student without some CS coursework, even if that student had a strong programming background. As a practical matter, then, someone who comes primarily from a physics background and wants to do a Ph.D. in computational science should probably look for physics programs with computationally-oriented faculty rather than looking for CS programs. It just makes it easier to jump through the initial hoops, leaving students with more time to get the breadth of background that they will need to do good computational work.

Apart from determining the program requirements (including the breadth requirements), one’s major in graduate school doesn’t particularly limit one’s options. I have my Ph.D. in computer science, but my graduate coursework was almost equal parts in math, CS, and mechanical engineering, and I was co-advised by a civil engineer working in computational mechanics. This path turned out to never be an issue. Now that I’m on the other side of the fence, I have students in applied physics and applied mathematics in addition to CS students, and I’m an outside committee member for many applied math and engineering students, which has also turned out to never be an issue, at least so far.

While the choice of a major in graduate school is not directly vital to the type of research training a student can undertake, the choice of advisor is critical. Of course, it is important to have an advisor who can help guide a student through an interesting dissertation project. But the advisor also plays a critical role in introducing students to a research community, and in introducing the students to the norms of that community. So an outstanding scientist who uses computation tangentially in his work might not be the ideal advisor for a student who wants to work in computational methods, even though he might be very well qualified to introduce the student to the computational ideas to which he is frequently exposed. Of course, a Ph.D. advisor is not the only source of advice in graduate school, but he or she should still ideally be a broad source of advice.

Comments

blog comments powered by Disqus
Fork me on GitHub