<p>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.</p>

<p>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.</p>

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

<ol>
<li><p>Is that true? Of all the research categories in TCS, which ones require more programming practices and what programming is used for there?</p></li>
<li><p>I have never worked theoretical math &amp; 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?</p></li>
</ol>

<p>Your answer will be a great help for me. Thanks in advance!</p>

CC BY-SA 3.0
2015-02-10T13:34:47.333Z
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.
András Salamon
CC BY-SA 3.0
2015-02-10T20:59:02.620Z
@AndrásSalamon what is PL?
Turbo
CC BY-SA 3.0
2015-02-13T08:51:16.347Z
@Turbo: programming languages
Radu GRIGore
CC BY-SA 3.0
2015-02-13T17:23:42.087Z
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.
Michael Wehar
CC BY-SA 3.0
2015-02-13T22:21:46.667Z
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.
Peter Shor 
<career>
How much programming is practiced in Theoretical Computer Science jobs?
Luke
# How much programming is practiced in Theoretical Computer Science jobs?

(Asked by: username_0 on 2015-02-10)

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!

**Tags:** career

> **Comments:**
> **username_1**: 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.  
> **username_2**: @AndrásSalamon what is PL?  
> **username_3**: @username_2: programming languages  
> **username_4**: Hi username_0, 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.  
> **username_5**: 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.  

---

## 0 answers

