I want to go to grad school in theoretical computer science. I don't like programming. I am in France.

Should I pursue a bachelors in math or in computer science?

  • 1
    $\begingroup$ There's a world of difference between a monkey coding C++ and a human coding in Agda. In any case, at this level the important thing is who your advisor is going to be, not what programmer you will officially enrol in. $\endgroup$ Mar 28, 2014 at 7:04
  • 1
    $\begingroup$ Why do you want TCS rather than just Mathematics, if you do not like programming. Many TCS people are also good programmers, and being a good programmer is nothing as unworthy as you make it sound with your derogatory words. The day you are as bad at programming as Ken Thomson, Dennis Ritchie, Don Knuth and Leslie Lamport (to name just a few I have in mind), we can talk again about it. $\endgroup$
    – babou
    Mar 28, 2014 at 9:43
  • 1
    $\begingroup$ $\text{(Programming : Arithmetic)}$ :: $\text{(Algorithms : Algebra)}$ :: $\text{(TCS : Pure Mathematics)}$. Research isn't a hierarchical ladder to climb, but you're more likely to be able to do it well if you do some foundational exercises. It is possible that your personal vision of mathematics gives you enough insight into computation that doing exercises in programming may not be necessary (thinking of results that rest on number theory or graph theory here), but even then it is still likely to be helpful, because it will give you intuitions for ways to solve problems. $\endgroup$ Mar 28, 2014 at 11:18
  • $\begingroup$ Do the downvoters care to explain their votes or comment on how to make the question better? $\endgroup$
    – usul
    Mar 28, 2014 at 12:12
  • 1
    $\begingroup$ Not a downvoter, but his question is strangely formulated. Why does he want to study TCS in particular, what interests him? Why does he imagine that pure mathematics might be helpful? Might he be better off researching pure mathematics but tending towards the complexity of testing certain mathematical properties? And is it programming in itself that he finds distasteful, or the priorities of his instructors (an emphasis on industrial application perhaps)? $\endgroup$ Mar 28, 2014 at 12:58

1 Answer 1


I would say there is no "one best/most appropriate route" to becoming a theoretical computer scientist, so it is more a matter of your personal tastes, and even what part of theoretical computer science you are most interested in, which you may not even know yet. I know of great TCS researchers who started out in pure math, and great TCS researchers who started out in CS or (even!) EE.

(And by the way, to the commenters: I know plenty of good TCS researchers who more or less abhor programming, and I also know plenty who are not only great programmers, but great software engineers.)

Whatever route you take, if you think you are really interested in TCS then you should immerse yourself in it, especially to try to find out which parts of it you are really interested in. Introductory classes on algorithms (many of which are purely theoretical and involve no programming, if you so desire) or the theory of computation are good places to start, and beyond that it is a matter of reading, asking professors for references and pointers, sitting in on introductory TCS grad classes if you have the opportunity, etc. From that point of view, your particular degree doesn't matter so much (unless e.g. if you do a mathematics degree your university would perversely prevent you from taking a course on algorithms or theory of computation).

However, it also sounds like it is still so early in your potential research career that it would be healthy to question why you are interested in TCS (even asking this question can lead you on a path to discovering exactly what parts of TCS you are really interested in, and give you better motivation for your future work), and to expose yourself to plenty of other topics to see if your true interests end up being elsewhere.

  • $\begingroup$ I totally agree with Joshua's answer. I simply add that beyond the theoretical answers you can get, you have also to adapt to the local context, and there are in France some specificities to take into consideration. Btw, I know pretty well the French system from inside so feel free to directly ask me if you wish (you'll find my contact informations in my profile). $\endgroup$
    – Bruno
    Mar 28, 2014 at 15:34
  • $\begingroup$ Fine answer. There was the misunderstanding about programming which I thought necessary to react to (I did not downvote, and I can even prove it), as I believe it is useful to the OP. Other than that, I am always uncomfortable answering such questions because the OP usually does not give any information about his level, that would help focus the answer. Is he still in high-school? Or what did he do at university level? So it is just more work to answer for lack of context. - - - - - - - - I think code-monkey is insulting and should be used with appropriate care (am I wrong?) $\endgroup$
    – babou
    Mar 28, 2014 at 17:46

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