Math and CS major dilemma: double major / major-minor etc

I am a high school senior in the middle of admission cycle. I always liked math and wanted to major in it (to give brief background - active in math competitions; 2xAIME qualifier; multiple summer math camps; doing multivariable calculus and linear algebra at a college in senior year). I did couple research projects under the mentorship of math professor - and liked them. When it comes to coding, I am OK but don’t have much experience. Took the highest cs course in the school - AP CS and did well.

Looking forward, I like the idea of working at a FANG company (I know its difficult to break into but I can dream right :smile: ) - preferably doing algorithmic development/analysis and maybe coding. With all that background info - what major or major-combo should I pursue?

Math AND CS (double major)
Math major with CS concentration (sometimes also called computational math)
Math Major with CS minor
CS Major with Math minor
CS Major in theory concentration

I applied to colleges with either CS or Math as 1st/2nd choices. In couple colleges, I got admitted into CS; and in couple other into Math (in the math colleges adding a second cs major seems to be either difficult or impossible; so there I can at most add CS as a minor). So now I have to think of seriously on what my major combo should be - this will decide my college choice.

A major that prepares me best for algorithmic analysis (math side of CS) is what I want to do (as of now) and wondering what is the best combo. I am worried if a Math major with CS minor will have the same opportunities at tech companies as CS majors? Alternately, should I just go for the best named univ and do whatever option the offer me?

(PS: the colleges that accepted me so far are good but not top-20; leaving the names out so advice is purely based on major)

1 Like

If you aren’t going for a graduate degree, you should pick either CS major (with or without math as a minor) or a double major. Some required CS courses can be used to fulfill the math requirement (either as a minor or a second major). A theory concentration in CS also isn’t recommended if your terminal degree is a BS or BA. If your interest is on the theoretical side of CS, you should consider a graduate degree.

To me this screams that you want to go the research side of CS. Most jobs at top tech companies are going to be software engineering jobs that use very little interesting math, if any. If you actually want to get into the weeds on math, you’ll probably have a lot better luck working as a researcher for those companies rather than a software engineer. In that case, a CS/Math double (or minor) with a CS Ph.D. would probably be the best route.

You’ll also need good grades and research to work to get a really good Ph.D program to align you with top research departments in industry, as prestige and connections mean a good deal in the CS research world (T-25 or T-30 on CSRankings probably will put you in a good position).

That path can lead to good money (equivalent to a plain BS in CS going into Software Engineering for the most part) but will be longer and possibly will cost more. A CS/math double (or math minor) will likely give you the most flexibility to choose to go to grad school or not. I would probably not go math major with a CS minor as you’ll simply be a leg down if you do end up going the industry Software Engineering route.


I really don’t think so. There are no top employers (I’ll use an arbitrary qualifier as having a $1B+ valuation, and paying at least 150k TC a year in SF/NY, or an equivalent rate at a lower CoL area) that I know of what would discriminate against a math major for dev jobs, especially if they were a CS minor. The big DQs for scoring interviews are having no degree or having no quantitative/CS-related degree.

The leg down is not the discrimination by employers by degree type (full agreement there re interviews) but in the experience someone has to perform in said interviews to land a job, as well as the larger skillset to do the job. You can teach yourself and become a good industry programmer as a math major, but a CS major will be exposed to more of these tools through clases than a math major / CS minor. If you’re not going the SE path but more of an AI/ML path, then a math background probably puts someone at an advantage of course.

1 Like

Ah - yes. Hard to say where exactly one will land after college (I work in AI/ML, but never expected to), but the upper-level CS classes are certainly something that give people a leg up in many different contexts (just like how math or stats can give a leg up in AI/ML).