I am an undergraduate student studying Information Technology. I like both math and CS, so I am considering to go into either "Computer Science and Math" or "Theoretical Computer Science" for my postgraduate study. Some of the fields I'm interested are: combinatorial and computational complexity.

I heard that the only career option in Theoretical CS is to become a researcher - and from where I come from, research are not strongly supported and encouraged (especially in CS), so researcher is not just a common career here.

But what I concern the most is people tell me that there are little programming practice in TCS, while I enjoy programming.

  1. Is that true? Of all the research categories in TCS, which ones require more programming practices and what programming is used for there?

  2. I have never worked theoretical math & rigorous math analysis e.g.: proving theory etc, though I'm quite sure I can master it if I learn it. How much will it affect me if I study TCS?

Your answer will be a great help for me. Thanks in advance!

  • $\begingroup$ TCS uses as much maths as you have available: the more, the better! If you don't have a strong maths background or experience proving theorems, then you will not like TCS. Some top results in TCS have a programming component (for instance, Ryan Williams' separation of ACC$^0$ and NEXP), but programming is a tool and not the main focus in TCS, even in programming languages. There are programming jobs supporting TCS researchers, especially in PL, but they still require a strong maths background. If you want to explore a TCS career, try some hard maths or logic courses and reassess. $\endgroup$ Feb 10 '15 at 13:34
  • $\begingroup$ @AndrásSalamon what is PL? $\endgroup$
    – Mr.
    Feb 10 '15 at 20:59
  • 1
    $\begingroup$ @Turbo: programming languages $\endgroup$ Feb 13 '15 at 8:51
  • $\begingroup$ Hi Luke, I think that for both questions the answer can vary. My recommendation for you would be to try and get advice from some people (students/professors/professionals) in TCS at your university or in your local area. It's often not easy so I wish you luck and have a great day. $\endgroup$ Feb 13 '15 at 17:23
  • 1
    $\begingroup$ There are lots of people who get degrees in theoretical computer science and then go on to programming jobs in industry, at least in the U.S. I don't know whether industry has some unwarranted prejudice against hiring people with theory degrees where you come from; they certainly will understand the algorithms they are implementing much better than the average programmer. $\endgroup$ Feb 13 '15 at 22:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.