I am currently finishing my undergraduate math studies, and I am really interested in computer science (especially theoretical). However, I realize that most CS departments expect their applicants to have a CS major or at least a significant amount of coursework in CS. I have taken a couple of programming courses and a course in data structures, languages and machines, and design of algorithms, but all very basic (so I would probably be rejected because of insufficient background). Therefore, I have been looking for math departments that do theoretical CS research, but I have found very few.

Is is possible for a mathematician to successfully enter a program of theoretical computer science with few previous experience in CS?

I thought this question was asked and answered before, but I couldn't find it. In any case, people with a strong math background can do very well in TCS. The only stumbling block might be the breadth of CS material (including things like architecture, compilers and operating systems) that might be required of a CS grad student.

However there are certain programs (CMU/Georgia Tech/Waterloo) in which TCS is a separate discipline: if you applied to one of these programs, you might be able to to circumvent core CS requirements that you don't have.

Many people in Theoretical Computer Science have undergraduate (and sometimes graduate) degrees in Mathematics, and some do not know how to program at all: do not be afraid and go on. Having a solid background of both mathematics and computers is an asset.

The only warning: be ready to learn by yourself, especially as you might be asked to TA or teach courses you never took (e.g. I had to learn a lot for teaching Operating Systems, or Networking, as this was never taught in my undergraduate degree in Mathematics). But if you go to Academia, you should be ready to learn by yourself anyway...

Just to add to Suresh's excellent answer, a couple of practical steps you could consider doing:

  • Contact the admissions people at your favoured universities; at the same time, caontact potential supervisors and ask about your concerns.

  • Read more about the topics related to the research interests of potential advisors, this is to gauge your level of knowledge and confidence in the topics (this is what I did before my MSc, now I have followed through into my PhD).

I hope this helps.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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