CS Grad Programs: Double Majoring and "Mathematical Maturity" - acmutd/help-guide GitHub Wiki

Should I Double Major?

I personally pursued a degree in mathematics (pure math concentration) alongside my CS degree. I decided on this at around halfway through my first semester, as I realized that just the CS degree would not prepare me for what I wanted to pursue a PhD in (theoretical machine learning). In addition, my research advisor had also encouraged me to take plenty of math courses, often saying things like "more math is always good". As a reminder, here was my 4 year degree plan.

Doing a double major at a public university like UTD can really be a pain in the butt and should be considered carefully. For example, there was only a single class overlapping for me (numerical analysis) that was not a core class. In contrast, my friends at other universities who pursued double majors took a far less number of courses than I did, although that says nothing about the general difficulty difference. Furthermore, as you enter upper division courses, there are many less students who keep their double major and still perform relatively well (anecdotally).

If you came in with a lot of AP/IB credits, or perhaps take courses over the summer at a community college or UTD, your life as a double major will be a lot easier. Using both, I was able to take only 20 hours total my senior year. This allowed me to put more focus on my applications my first semester, and chill out my second.

The decision to pursue a double major should be determined by at least three factors.

  1. Will pursuing a double major significantly lower the amount of effort and time you can give to research?

As I have previously stated, if your goal is to get into a (research-based) graduate program, your focus should be on obtaining and demonstrating research experience and perhaps even research success in the form of published work. Experience and success derive from effort and time spent in lab. If most of your time is spent studying due to your double major, you will have less time to perform research, and less chance to finish or submit a publication. Personally, I do think that I could have spent more time in lab if I did not pursue a double major, but I would like to think that I eventually found that balance of research and classwork that allowed me to be reasonably productive in both (did fine in classes, published some stuff during my undergrad).

  1. Are you interested / motivated enough to make it through?

Motivation or discipline will be a huge factor in pursuing a second major. In all likelihood, there is a reason you chose your primary major (be it CS or something else), and that was because it was the subject you found most interesting. Now, you may only really be interested in facets of a second major. For example, I was not interested in ODEs / PDEs, abstract algebra, or complex analysis, as these things are usually not used in the aspects of CS that I care about. However, due to the relatively restrictive requirements, you will probably not have much leeway regarding the courses you must take to complete the major. For example, check out this NYU students' opinion on the matter. You may find yourself needing to take a whole bunch of courses that you don't really care about, just to finish up the required parts of the major. Alternatively, you could be performing research and getting better at things that you actually do care about. If you find yourself in this kind of situation, maybe consider just finishing the minor, or even only taking the courses that you are interested in. You can list these courses on your CV under "relevant courses", and even mention them when applying to summer programs, PhD programs, etc.

  1. Do you believe it will be help you down the line?

On the other hand, without the required courses within the math major, I would never have been introduced to differential geometry, topology, algebra, and other topics that I eventually found interesting (and even useful at times)! With regard to edification, these required courses certainly contributed to my intellectual development. Furthermore, taking more math classes does indeed make you better at problem solving, algebraic manipulations, abstract conceptual thinking, and other useful things that I have found to be particularly helpful in the kind of research I am keen on conducting.

So with regards to all of these three points, you have to personally weigh the value you will receive from your double major vs. the effort and time required to complete it. My personal recommendation would be to not do a double major unless you have a fair amount of credits coming in, and plan to dedicate your first summer to taking courses. For example, I had a friend which didn't have any credits and did the double major in 4 years, but was routinely enrolled in 18-21 hours of cs/math courses. This left him absolutely no time for almost anything else.

On the other hand, if you are planning to graduate in 5 years instead of 4, you could probably comfortably finish the double major without pushing yourself to that extent. However, then there are also questions about tuition, financials, and whether you think you will be a stronger applicant in another year (remember: things always get more competitive as time passes).

"Mathematical Maturity"

A crucial aspect of research in CS that I have personally observed as I gathered information for applying to programs was that many professors are keen on recruiting PhD students with a "strong mathematical maturity". Generally, this means demonstrating through courses or research that you are not horrible at math, and can formulate ideas, solve problems, and apply mathematical tools and techniques at some level of proficiency.

Now I can already here you saying: "oh but sid, I am not gonna do theoretical research. I wanna do stuff that's actually useful!". As a short rebuttal, consider how you proliferate your work: publications. If you are explaining something with text, the most useful and descriptive tools at your disposal are 1) diagrams, and 2) mathematical formulae. Even if your work does not have a significant mathematical component, being able to express and relate it more abstractly with other techniques is an invaluable skill. In addition, mathematical proficiency often comes hand in hand with raw problem solving and critical thinking ability, both of which are extremely important while conducting research independently.

Returning to how to address this, if you pursue a double degree in math (with good grades), then it is pretty much confirmed that you have some level of mathematical maturity. However, if you have just a CS major and received B's in all your required math courses, then clearly there is reason to doubt your mathematical proficiency.

Outside of pursuing a double major, there are numerous ways to display your proficiency. You can take useful upper division math classes like Mathematical Analysis I & II and perform well in them (without pursuing a double major). If your research has a strong theoretical component (e.g. if you do theory research within our strong UTD computational geometry group), then you can ask your research advisor to emphasize your mathematical rigor within their letter of recommendation. Lastly, you may want to consider pursuing independent projects. For example, the UTD Math department has a semester long Directed Reading Program which I partook in at some point. In this program, you are paired with a PhD student and meet weekly to work through a mathematical text. I selected the classic text The Elements of Statistical Learning (Friedman et al.), and ended up writing some notes on the introductory chapter with my Stat PhD mentor. This was helpful to include on my CV in some applications, or perhaps mentioned in my personal statement. More impressively, you can see what others did here.

Ultimately, recognizing that you may not have enough background for your intended research direction is important regardless of your discipline. Working to fill these gaps in your background will help you become a stronger candidate for almost everything moving forward. Nonetheless, never forget that the most important experience that you can have on your CV is computer science research, not random math courses. These simply serve as a supplement or positive indicator for the rest of your application.