I'm about to finish my 4th semester as a pure mathematics undergraduate. I took one introductory course to programming in my first semester, and another more advanced one lately. Although it was only one course out of several others I took last semester, I spent much more time on the computer than on the math books, and I conjectured that I would probably be happier as a programmer than as a mathematician.

The problem is that I spent most of the past 3-4 years doing nothing but mathematics. Practicing problem-solving, developing critical thinking, establishing deep knowledge in foundational mathematics and growing very good general knowledge about advanced math topics and history of mathematics. Besides, I get top grades in my college, and I do like what I am doing.

In brief, I can see myself as a promising person in the world of mathematics. I am confident that in comparison to most of my peers, I am more powerful in this domain. And this, in particular, is what makes me hesitate about even thinking of switching my major.

Above all, I enjoyed that programming course much more than I enjoyed any other math course that I took (except, perhaps, metric topology and some abstract algebra). And I have a feeling that this is what I should truly go for.

What is the best decision that could be done? Especially that I still have only one year to get my Bachelor degree. If I would switch my major, I'll have lost one year of my life because of the regulations in our college.

Thank you.

  • Why did this get a downvote? Please clarify. What SE site should I post this to, instead? – piaresquared May 10 '15 at 16:06
  • Problem solving and critical thinking are extremely useful skills for a computing career. Have you considered topics on the boundary of computing and mathematics, such as encryption or proof of program correctness? – Patricia Shanahan May 10 '15 at 16:11
  • @PatriciaShanahan not really. I don't have any perspective about the possible options in front of me. If I want to pursue such topics, on the boundary of computing and math, what kind of degree should I have? – piaresquared May 10 '15 at 16:16
  • To me, it seems like you'd enjoy theoretical computer science. Many, if not most, upper-level computer science courses focus heavily on mathematical and theoretical computer science. From your description of your mathematical background, you would make a great theoretical computer scientist. Mathematics and computer science are very intertwined; you could easily make a career that is directly involved in both. – user20284 May 11 '15 at 2:22
  • 1
    I'm not sure why this hasn't already been pointed out, but ac.se is fundamentally the wrong place to be asking this question. You should speak with people who know you, your circumstances, your history, and your university policies. Answers given here are going to be vaguely helpful at best and potentially harmful. – Tim May 11 '15 at 20:05

Change-of-interest among mathematicians is more common than many would have imagined. Reasons vary, some decided to do something more applied, some decided to work in the industry for the better pay, some decided to work in a more dynamic environment than the academia...

I can assure you that the time you spent on mathematics is time well spent for your intellectual development and that your advanced math training will be a valuable asset wherever you go. Even though you may not be solving abstract algebra or real analysis problems for your future career, it's the analytical skills that you're equipped with that will make a difference between you and other candidates. Mathematicians, if well trained, develop unique insights to problems and are often highly detail-oriented.

If you want to switch to computer science, there are a number of Masters Programs in computer science that will accept non-CS majors. In fact, if you have taken sufficiently many advanced courses in computer science, you may apply to grad school in computer science right away without going through the (often exorbitantly costly) masters program. Many of my classmates have done that and successfully transitioned into computer science.

Last but not least, speak to your academic advisor and discuss your situation.

Good luck!

| improve this answer | |

Good question (+1). Generally, I agree with @Jan's advice (also +1), with the exception of the last sentence - I don't think that a conversation with an advisor is or should be the critical factor. Ultimately, I believe that the main critical factor should be your gut feeling, of course, combined with practical considerations, some of which Jan mentioned. I think that a math degree, especially undergraduate, provides a solid foundation for your future career, regardless of your decisions along the way, such as to continue career in mathematics or switch to more applied areas, such as computer programming, operations research and data science.

Therefore, my recommendation is to continue with your current program, while testing some specific areas, where possible (i.e., for programming, participating in open source software projects might be a good idea), unless you are absolutely sure that you have to switch majors. Let me finish my advice with mentioning a popular saying/idiom, which seems to be appropriate here: "Don’t change horses in the middle of the stream". Good luck!

| improve this answer | |
  • 1
    Yeah, the advisor chat is meant for situations of doubt. If, say, s/he wants information on whether s/he is suited for a computer science master with his/her degree, because s/he is unsure about details, requirements and whatnot. Maybe I should put more emphasis on the if grains of doubt remain part? – Jan May 11 '15 at 11:45
  • @Jan: I would just add clarification (the 2nd sentence in your comment above). – Aleksandr Blekh May 11 '15 at 12:23

Switching one’s major (or subject altogether) is generally something that should not be done light-heartedly. But there are often valid reasons for doing so and it can take some time to notice these reasons.

Assuming you took some time to choose the subject you studied (which it sounds like you did) there are probably good reasons why you chose it. Probably you like maths (you hinted it be fun), maybe you were just good in maths at school or maybe you just wanted to be one of the cool nerds with glasses. One student at my university started studying chemistry because she found it fascinating and liked it at school. I started my master’s majoring in biochemistry because I liked the work we did in our practical courses and because it sounded interesting.

Once you’re now thinking about switching majors, something from your motivation must have changed. I’m inferring from what you said, that you spent more time (and maybe even had more fun) sitting at the PC doing some coding work. That’s a very positive way to think. The student I was talking about above underestimated the workload she was going to put into chemistry studies. She also failed a practical course (that really wasn’t dramatic; it’s a course that more than 10 % fail in their first attempt including me who’s doing a chemistry PhD now) and finally started spending more time with her other scholarly love, Japanese. In my case, I still (would) enjoy the practical parts but I underestimated the amount of rote memorisation required for passing the exams — I’m bad at that.

Once you’ve identified the true reason why you want to switch, you need to debate whether switching is an appropriate action or not. The student I keep mentioning switched to Japanese at a different university closer to her home. I still think that she just made herself too much work, tried to understand stuff way too deeply at a way too early level. She could have stuck with chemistry if she had tried to learn less (yes, that’s sometimes a thing). I haven’t spoken with her for quite a long time, but I assume she thinks it’s the right choice she made (She did take a long time considering it). In my case, switching majors from biochemistry to inorganic chemistry was essential to pass my master’s.

Now onto you. First off, programming or computer sciences are a lot closer to maths than Japanese is to chemistry (although they both sound similar to some, I am told). They’re not as close as inorganic and biochemistry in my opinion, though. It’s highly possible from my point of view to enter similar master’s programmes with both degrees, especially if you’re looking somewhere where both of them meet. You will also have gained valuable skills that you list in your question — problem-solving, critical thinking etc.

  • Do you think that you can fulfill the requirements and achieve the degree your aiming for now? 
  • Do you think that your final mark might be (significantly?) worse if you switch?
  • Are there computer science/programming programmes that allow a pure mathematician to start them?

If you answered those three and a half questions with yes then don’t switch. If you answered the half question with no and the others with yes, I would recommend you don’t switch. Only if you answer no to all three questions should you definitely switch.

The most important note of the whole text: Have a chat with an advisor if grains of doubt remain, e.g. if you’re not sure about fulfilling the requirements of whichever master’s programme you’re interested in due to your non-programming maths bachelor degree.

| improve this answer | |

Some points to consider:

1) You don't need a CS degree to become a programmer (as Aleksandr says) or to study CS at a graduate level (as Dinosaur says). There's nothing to stop you from completing your math major while spending as much time as possible on the programming that you like. When you graduate, getting a programming job should not be substantially trickier than if you had majored in CS.

2) Just because you are a promising person in the world of math does not mean you are obligated to fulfill that promise (as dinosaur says). Only do math if it's what you want. Many people with great promise drop out of the field at every stage of a career, and that's okay. Some examples:

  • Undergrad: Bill Gates
  • Grad School: Reid Barton
  • Professor: James Simons (whose impact on mathematics is in my mind greater as a philanthropist than it was as a mathematician)

3) You can come back, if math is truly where your heart is. I know several people who have turned away, be it towards programming, finance or elsewhere, only to return.

4) Towards (3), programming skills are incredibly useful in many areas of mathematics.

From what you've described, I would follow Aleksandr's advice and complete your math major (it sounds like you might already be done!) with an eye towards developing skills as a programmer. If this is not possible, keep in mind that losing a year (and it wouldn't be truly lost) is a far better option than failing to notice that your current path is a waste. Remember that, even if you stay in the academy, your formal education is only a small part of what you will learn. Start casting forth for what you are most passionate for, and good luck!

| improve this answer | |

I see Good answers here.

Adding for those, I'm a Java Developer working almost 2 years in the industry now. Currently I'm following my Bachelors degree in Software Engineering. I was one of the bullets in my class in High school for Maths. But Unfortunately I choose the path to programming. I know not everyone will agree with the word I wrote 'Unfortunately' in my last sentence. Personally I am really really worrying about the decision that I dropped my Maths degree.

Please don't make that mistake!

There are lot of paths you can choose to continue when you have a Mathematics degree in your hand. (Games; of course comes to my mind, There are many)

Continue your Maths degree. After that you can have some industry recognized exams(e.g. Oracle certifications, Microsoft certifications). These exams will not take too much time to finish. As Aleksandr said, you have strong foundation if you have a Degree in Mathematics. That's my opinion for this good question.

Good Luck!

| improve this answer | |

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