-1

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?

Kaveh
  • 21,577
  • 8
  • 82
  • 183
  • 1
    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. – Andrej Bauer Mar 28 '14 at 07:04
  • 1
    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. – babou Mar 28 '14 at 09:43
  • 1
    $\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. – Niel de Beaudrap Mar 28 '14 at 11:18
  • Do the downvoters care to explain their votes or comment on how to make the question better? – usul Mar 28 '14 at 12:12
  • 1
    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)? – Niel de Beaudrap Mar 28 '14 at 12:58
  • There is no hierarchy in science, research areas and type of work, only very varied contributions towards a common goal. It is too often forgotten that, if it had not been for the painstaking work of Tycho-Brahe building precise instruments and spending night after night measuring the sky with greater accuracy than ever before, Johannes Kepler and Isaac Newton might not enjoy the fame they have today. Closer to France, physicist George Charpak got his Nobel prize in physics for building instruments to better observe particles. – babou Mar 28 '14 at 13:52
  • @usul Do not be mistaken,the downvotes predate the comments. It is easier, faster and less risky. A question is already better when it is disparaging to no one. The other point is that the OP seems to have little knowledge of what is covered by TCS, ad of its relations with programming. So the question should probably be more open ... as some are, and take less for granted. – babou Mar 28 '14 at 14:03
  • You might also be interested in these related questions: http://cstheory.stackexchange.com/q/17684/129, http://cstheory.stackexchange.com/q/3881/129, http://cstheory.stackexchange.com/q/8780/129, http://cstheory.stackexchange.com/q/2571/129, http://cstheory.stackexchange.com/q/149/129. (Actually, on seeing those questions, I am now rethinking whether maybe this question is just as on-topic as any of those...) – Joshua Grochow Mar 28 '14 at 16:57
  • @Josh, I think it got closed because of the way the question was stated. It looked as some undergrad who doesn't like programming without stating any good reason (probably he didn't do well in programming) but wanting to go to grad school in TCS again without stating any reason (e.g. why not grad school in math? will he like TCS?). It is not even clear if he is still in high school or if he is in a university. And there is no reason his feelings about non-theoretical or theoretical CS won't change next year. – Kaveh Mar 29 '14 at 05:01

1 Answers1

4

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.

Joshua Grochow
  • 37,260
  • 4
  • 129
  • 228
  • 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). – Bruno Mar 28 '14 at 15:34
  • 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?) – babou Mar 28 '14 at 17:46