So let me give a little info of who I am and what my interests are. I just graduated with a BA in Mathematics, concentrating almost exclusively in pure math courses (favoring analysis, algebra, topology, number theory, and combinatorics over computational/applied classes). Next semester I'm beginning a 2-year masters program in computational mathematics (at a group-1 public school, under old AMS rankings).

My research interests are currently strongest in the following areas:

  • Combinatorics, especially algorithmic/computational and combinatorial optimization
  • Cryptography, information encryption/decryption and security
  • Number theory, but really just for the purposes of encryption/decryption

After doing some research on the Web, it seems to be the case that my interests fall into the field of theoretical computer science and discrete mathematics.

At this point in time, my idea of an ideal career would be a professor of math or CS at a university, probably a doctoral-granting university. I might also consider working for the government in information security, data analysis, etc.

Also, I definitely want a PhD. It's just been one of the constants in my life as a goal.

So, I pose the question. Given the above information, would a PhD in Math be more appropriate, or would a PhD in CS (probably concentrating in Theoretical CS) be more appropriate?

closed as off-topic by David Richerby, jakebeal, Wrzlprmft, gman, Enthusiastic Engineer Jun 7 '15 at 20:51

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "The answer to this question strongly depends on individual factors such as a certain person’s preferences, a given institution’s regulations, the exact contents of your work or your personal values. Thus only someone familiar can answer this question and it cannot be generalised to apply to others. (See this discussion for more info.)" – David Richerby, jakebeal, gman, Enthusiastic Engineer
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Q. What's the difference between a theoretical computer scientist and a mathematician? A. About $50,000 per year. – JeffE Jun 7 '15 at 11:38
  • 6
    @JeffE Which way? The theoretical computer scientist heads for Google and the mathematician goes to a hedge fund? – jakebeal Jun 7 '15 at 12:59
  • There doesn't seem to be any reason you need to decide now. Why not wait until you've had more exposure from your Master's program. – Zach H Jun 7 '15 at 14:18
  • @JeffE, that's simply not true for most universities. It might be true in the US, but for most state universities in the world there is not a big salary difference between math and CS. – Dilworth Jun 7 '15 at 15:05
  • 2
    You might also consider specialized interdisciplinary programs like the Algorithms, Combinatorics, and Optimization (ACO) program at Georgia Tech. – Brian Borchers Jun 7 '15 at 16:08

After doing some research on the Web, it seems to be the case that my interests fall into the field of theoretical computer science and discrete mathematics.

Yes, I agree. Moreover these fields have substantial overlap, and your interests lie safely in this intersecting region. You could plausibly attend either program, and the post-PHD opportunities and career trajectories would be very similar.

One way to think about the decision is that the differences between a math program and a CS program will be more cultural and incidental. In a US PhD program there are going to be a lot of required components besides your thesis work. If you attend a math PhD program you will be required to take courses and pass qualifying exams in areas of mathematics somewhat removed from your stated research interests: e.g. I don't know any math PhD program in which you would not have to take graduate level analysis, including measure theory. Similarly, in a CS program you're going to have to take coursework and pass exams on non-theoretical, non-cryptographic computer science. Which of these sets of requirements sounds better to you?

If it's really a coin flip, then I would argue in favor of breadth and diversity of skills. At a certain point you have to specialize, but all other things being equal, I find basic knowledge more useful: it is so much easier to learn more about something than to get a first, rudimentary clue. Your undergraduate career gave you training in many theoretical areas of mathematics that are not directly related to your current research interests: great! Now give yourself the advantage of getting some broad training in CS topics as well.

Anyway, it ought to be clear from this answer that I think there is no bad choice. Good luck!

  • Good answer. I'll add that there are some CS PhD programs that have emphasis in Information Security and others that emphasize computational data analysis and modeling. As one example, look at Prof. Ross Anderson's group at Cambridge University. cl.cam.ac.uk/~rja14 cl.cam.ac.uk/research/security/projects You can probably find other groups like this in other universities. – MrMeritology Jun 7 '15 at 20:18
  • @MrMeritology: I believe you. I wanted to mention though that PhD programs are significantly more specialized in Europe than in the US: in the former, they almost always follow separate master's programs; in the US, this need not be the case. So the "coursework" aspect of an American PhD program is large compared to almost everywhere else in the world. – Pete L. Clark Jun 7 '15 at 20:54
  • @pete-l-clark Agreed. – MrMeritology Jun 7 '15 at 21:49

I am not a mathematician, so take my advice with a grain of salt. I would say that your current interests belong to two broad categories: applied mathematics (via combinatorics and, to a lesser degree, number theory) and computer science with an emphasis on information security aka information assurance (via cryptography, etc.) - so either of those areas seem to fit your current research interests.

However, notice my special emphasis on the word "current". Considering the IMHO high likelihood of your research interests might change in the future, I would recommend you to prefer an applied mathematics over CS, as that will give you more flexibility career-wise (i.e., you could apply your knowledge and skills to the fields of operations research, financial engineering and many others).


I believe Pete L Clark gives a good answer. Let me just supplement it with my personal experience. I was in a very similar situation a few years ago, choosing between pursuing a PhD in Mathematics with a focus on discrete fields including graph theory and optimization, and Computer Science with a focus on algorithms and data analytics. I had done research in both fields as an undergraduate, and I would be attending graduate school at the same institution I completed my undergraduate degree. I had the advantage of getting a little taste of the culture and expectations of each department.

In the end, my decision came down to how much I liked each department in terms of faculty, research groups, other students, and degree requirements. With regard to degree requirements, I found one department seemed to offer more flexibility and more chances to take classes that I thought I would like.

Perhaps most importantly, finding a research group that you like could determine which degree you choose. I think it's often much easier to work with an adviser if you are in the same department.

So my advice would be to take a look at the requirements of each department at whatever schools you apply to, talk to a faculty member and/or student if possible, and generally try to get a sense of the culture of each department. Especially look at the research of different faculty members and see if there are any groups which you particularly like. Surely it's not an easy task to gather all of this information if you don't go to one of those schools already, but you should be able at least to look up the degree requirements for each department and the research of different faculty.

Hope that helps some. Good luck!

Not the answer you're looking for? Browse other questions tagged or ask your own question.