I have recently been reminded again (through lots of pain) why I wanted to do my masters in CS instead of mathematics. Its not that I can't do an MSc in mathematics, its just that I don't enjoy analysis or geometry at all, and my development in those two fields have been very slow. On the other hand, I am in love with combinatorics and graph theory, and have done a lot of research projects (individual reading) in graph and hypergraph theory, this is why I think a CS MSc would fit me better.

However, back in March I decided to do a math MSc, since the tuition fee for a CS MSc is ~5 times the tuition for a math MSc. My idea is to hit as many classes in theoretical CS as possible, and barely take the required math classes.

Question: Is it a sane (possible gotchas, looking for unforeseen problems) decision to focus on CS classes in a math MSc? (in other words, I want a CS degree, but circumstances dictate that I enter a math program)

My own considerations are:

  • While I do not enjoy mathematics that much, I am still strong in it, apart from geometry. I'm hoping that I can keep on developing/using my probability theory or combinatorics. I will not be hindered by abstract algebra either.
  • Apart from graph theory, I almost have no CS background. I have been doing extensive projects with pandas, and used a lot of MatLab for my thesis, but that is about the extent of my programming skills. I don't know how to use any technologies (I still don't know how to properly use requests, still can't figure out how to multithread properly, only a partial understanding of SQLalchemy).
  • I don't know if this is just a temporary case of 'grass is greener next on the other side'.
  • I have seen massive improvements in my math skills between the first, second, and third year. Though somehow I'm still skeptical that I actually understand anything apart from graph theory.
  • Were I to do this, I would pick mostly machine learning classes (there aren't that many OpRes classes in the univ I will go to, otherwise I would focus on it instead). I'm very skeptical that machine learning is something you learn in two years. I'm afraid of being in the same situation as I have now, having only theoretical understanding of things (I'm finishing a BSc in pure maths, the kids doing physics are better in calculus then I am).
  • $\begingroup$ And if it helps: I thought I would enjoy a CS MSc since the most memorable things during my BSc were Turing Machines, finite automatons, sorting algorithms, karp reductions, OpRes, graph theory. $\endgroup$
    – user12227
    Jun 6, 2022 at 23:20
  • 1
    $\begingroup$ First you need to find a program that would permit it. Rare, I'd think. $\endgroup$
    – Buffy
    Jun 6, 2022 at 23:44
  • 1
    $\begingroup$ «the kids doing physics are better in calculus then I am» Bingo! I've seen some of the most serious programmers amongst my phycisist friends. Somehow it seems that putting one's central focus on "rocket science" (whether literally or metaphorically heavy duty stuff like general relativity, quantum mechanics etc) and doing programming as an ancillary side job produces the best results in majority cases. (Yeah that kinda contradicts my comment here). $\endgroup$
    – Rusi
    Jun 7, 2022 at 2:20
  • $\begingroup$ As for sqlalchemy, threading, requests, I suggest you ignore (for now). If you insist then look at ballerina, Erlang, general networking/TCP-IP concepts for these three respectively. $\endgroup$
    – Rusi
    Jun 7, 2022 at 2:34
  • $\begingroup$ Just note that for serious probability you will (probably) need some serious analysis! $\endgroup$ Jun 7, 2022 at 3:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.