# In which subfields of computer science can I learn more about math?

April 24, 2020 10:16 PM Subscribe

First, I've asked a ton of questions related to this, it's annoying yes, but I want to apply to a masters degree and part of doing that is doing research and asking questions to narrow down the scope.

So, after researching, asking questions everywhere and figuring out just what it is that I would like to do, I have a pretty clear idea of where I want to go and what I want to learn in my masters degree.

Here are the main things I'm looking for:

1. Math

Whatever I end up doing, I want to learn more about math. My initial goal was to apply to master's programs in mathematics. So far, that hasn't gone so well. Some of the places I've contacted have flat out said no, CS has a ton of math but not the same as a math major, I never took multivariable calculus or differential equations for instance. As a result I need to stick to CS programs, but I'm not entirely sure which subfields of CS involve a lot of math. Ideally, it would be best to look for such areas, getting into a CS msc should be simpler for me.

Scientific computing is the only one I can think off, but that's pretty "mathy". Some programs offer it as a specialization in CS mscs. I don't know if I can get in there.

2. Finance

This is really more of a plus. I would love to have my msc have some relation to mathematical finance. Nonetheless, I've broadened my preferences here. Sticking to finance reduces everything to very few options and honestly the hard part about math finance is the math. I can always learn more about markets elsewhere or by myself. Besides, I feel this is more of a hobby.

3. Business

After I do all this I want to run my own thing. I want to do something with my skills and whatever I learn afterwards. I know some will say I should look into an MBA. I don't have a taste for that. I don't know that I want to go for that. Besides, I'd have no issue being the technical person in some partnership or another and letting whoever works with me handle the CEO stuff. I want a business but I don't necessarily want to be at the helm of it.

Finally, I'm wondering whether it's a good idea to have a "backup" interest beyond math. I guess if I had to choose something else it'd be parallel computing, functional programming and concurrency.

Also as another final detail, I'm planning to apply to Canada. I know U of T, UBC and Waterloo are the top. I plan to apply to Waterloo, I'm on the fence about UBC, and U of T is a no. I'm wondering who else has good CS programs outside of those unis, I'm not entirely sure what to look for in Canada since I don't understand how schools work there.

Thanks in advance, any and all answers are welcome. Believe me you're doing me a huge favor by helping me out with narrowing my scope and choosing my programs.

So, after researching, asking questions everywhere and figuring out just what it is that I would like to do, I have a pretty clear idea of where I want to go and what I want to learn in my masters degree.

Here are the main things I'm looking for:

1. Math

Whatever I end up doing, I want to learn more about math. My initial goal was to apply to master's programs in mathematics. So far, that hasn't gone so well. Some of the places I've contacted have flat out said no, CS has a ton of math but not the same as a math major, I never took multivariable calculus or differential equations for instance. As a result I need to stick to CS programs, but I'm not entirely sure which subfields of CS involve a lot of math. Ideally, it would be best to look for such areas, getting into a CS msc should be simpler for me.

Scientific computing is the only one I can think off, but that's pretty "mathy". Some programs offer it as a specialization in CS mscs. I don't know if I can get in there.

2. Finance

This is really more of a plus. I would love to have my msc have some relation to mathematical finance. Nonetheless, I've broadened my preferences here. Sticking to finance reduces everything to very few options and honestly the hard part about math finance is the math. I can always learn more about markets elsewhere or by myself. Besides, I feel this is more of a hobby.

3. Business

After I do all this I want to run my own thing. I want to do something with my skills and whatever I learn afterwards. I know some will say I should look into an MBA. I don't have a taste for that. I don't know that I want to go for that. Besides, I'd have no issue being the technical person in some partnership or another and letting whoever works with me handle the CEO stuff. I want a business but I don't necessarily want to be at the helm of it.

Finally, I'm wondering whether it's a good idea to have a "backup" interest beyond math. I guess if I had to choose something else it'd be parallel computing, functional programming and concurrency.

Also as another final detail, I'm planning to apply to Canada. I know U of T, UBC and Waterloo are the top. I plan to apply to Waterloo, I'm on the fence about UBC, and U of T is a no. I'm wondering who else has good CS programs outside of those unis, I'm not entirely sure what to look for in Canada since I don't understand how schools work there.

Thanks in advance, any and all answers are welcome. Believe me you're doing me a huge favor by helping me out with narrowing my scope and choosing my programs.

There's tons of math in computer graphics (just look around on shadertoy and be mystified). Computational fluid dynamics is a huge field, for instance. It's endless. It's almost a strange question, how can you not find the math in computer science? How can you possibly even avoid it?

posted by smcameron at 10:40 PM on April 24, 2020

posted by smcameron at 10:40 PM on April 24, 2020

It's a little tricky to answer this. The straightforward response is that the most mathy subfields are:

- Algorithms

- Complexity theory

- Machine learning

- Numerical optimization

The first two are often grouped into a "theory" concentration. The latter two are wider-ranging, and more multidisciplinary (e.g. there might be lots of stats crossover). Some parts of programming language theory, and explicitly interdisciplinary stuff like computational biology might fit the bill.

Certain parts of what programs will call a "systems" concentration might appeal to you - concurrency will figure in heavily (and can get very mathy), compiler classes will often be fairly discrete-math heavy, and delving into functional programming languages will be easy.

One thing I want to mention is that this part sort of gives me pause:

I don't know the rest of your math background, but it sounds like you might not have lots of experience with proof-based math classes. This will be the bread and butter of a lot of math-y CS or stats classes, so make sure you know what you're getting into. In at least some colleges, multivariable calculus and linear algebra are prereqs to many theoretical CS classes.

posted by The Notorious B.F.G. at 10:40 PM on April 24, 2020 [9 favorites]

- Algorithms

- Complexity theory

- Machine learning

- Numerical optimization

The first two are often grouped into a "theory" concentration. The latter two are wider-ranging, and more multidisciplinary (e.g. there might be lots of stats crossover). Some parts of programming language theory, and explicitly interdisciplinary stuff like computational biology might fit the bill.

Certain parts of what programs will call a "systems" concentration might appeal to you - concurrency will figure in heavily (and can get very mathy), compiler classes will often be fairly discrete-math heavy, and delving into functional programming languages will be easy.

One thing I want to mention is that this part sort of gives me pause:

*I never took multivariable calculus or differential equations for instance*I don't know the rest of your math background, but it sounds like you might not have lots of experience with proof-based math classes. This will be the bread and butter of a lot of math-y CS or stats classes, so make sure you know what you're getting into. In at least some colleges, multivariable calculus and linear algebra are prereqs to many theoretical CS classes.

posted by The Notorious B.F.G. at 10:40 PM on April 24, 2020 [9 favorites]

It sounds like you’re interested in fields that use a lot of applied math. AI and graphics are the places where you get to do a lot of this inside a CS department. Also consider a data science masters program instead of CS.

But this is not really the math at the core of a classical CS curriculum. That math will be a shock to you if you haven’t encountered it before. It’s sometimes labeled “discrete math” or “math for computer science”; you can look at textbooks on those topics for an overview. It involves logic, set theory, graph theory, and complexity theory.

posted by qxntpqbbbqxl at 12:30 AM on April 25, 2020 [3 favorites]

But this is not really the math at the core of a classical CS curriculum. That math will be a shock to you if you haven’t encountered it before. It’s sometimes labeled “discrete math” or “math for computer science”; you can look at textbooks on those topics for an overview. It involves logic, set theory, graph theory, and complexity theory.

posted by qxntpqbbbqxl at 12:30 AM on April 25, 2020 [3 favorites]

As above, I think you should consider a data science or operational research masters. I'm doing a data science MSc now that's split between the schools of maths and CS - there's a core of both but a lot of choice about whether you focus on the maths or CS side of things. There are modules that touch on finance and business such as credit scoring and supply chain modelling.

The admissions criteria may be more lenient on maths experience also, my course only required a 'numerate' undergrad.

posted by Limivorous at 2:03 AM on April 25, 2020

The admissions criteria may be more lenient on maths experience also, my course only required a 'numerate' undergrad.

posted by Limivorous at 2:03 AM on April 25, 2020

To sort of echo others, I think you need to really narrow down (and perhaps let us know?) what you mean by "math." What is math, to you? Or perhaps I should phrase it as, what is the sort of math that you are interested in learning more about, and utilizing in your job?

Math is not really a monolithic thing, especially when it comes to how it is applied to other fields. For example, I was a CS major (and finance major funnily enough) in college and am a professional programmer (well, before my current extended sabbatical). I find machine learning and AI extremely uninteresting, but I'm really into functional programming and am working towards getting into theorem provers. It's all math, but a radically different type...I'm currently studying some more category theory (which came out of topology, I believe, but now is very influential in many functional programming circles). The curry-howard isomorphism, which connects logic and programming, is super important and has fueled theorem provers, basically "computers that can prove math theorems" (well, all computers are proving theorems, it's just a question of which..). My point is that that is all math, and it's all super interesting (to me), but it's often not what people think of when they think of "math."

So I think it might be worth thinking about what you eventually want to do. I might also add that for certain applications, a masters might not even really be necessary. If you want the environment etc that's fine, but there are lots of way to learn this stuff. It really depends what you want to learn and what you want to do with it.

I know a ton of PhDs, many of whom work in search and/or machine learning, and I remember telling one that I wanted to learn more math. And he said...don't. Well, not "don't," but that math is a skill that is used to do things (even if you use it to make more math eg pure math). That is to say, studying real analysis just to study real analysis is of course fine, but you will forget it faster than you think (he lamented all the math he had forgotten in his career as a programmer after his phd). So while you can certainly "study math" as a pursuit of personal enrichment, math is as much a tool as anything else.

posted by wooh at 2:16 AM on April 25, 2020 [4 favorites]

Math is not really a monolithic thing, especially when it comes to how it is applied to other fields. For example, I was a CS major (and finance major funnily enough) in college and am a professional programmer (well, before my current extended sabbatical). I find machine learning and AI extremely uninteresting, but I'm really into functional programming and am working towards getting into theorem provers. It's all math, but a radically different type...I'm currently studying some more category theory (which came out of topology, I believe, but now is very influential in many functional programming circles). The curry-howard isomorphism, which connects logic and programming, is super important and has fueled theorem provers, basically "computers that can prove math theorems" (well, all computers are proving theorems, it's just a question of which..). My point is that that is all math, and it's all super interesting (to me), but it's often not what people think of when they think of "math."

So I think it might be worth thinking about what you eventually want to do. I might also add that for certain applications, a masters might not even really be necessary. If you want the environment etc that's fine, but there are lots of way to learn this stuff. It really depends what you want to learn and what you want to do with it.

I know a ton of PhDs, many of whom work in search and/or machine learning, and I remember telling one that I wanted to learn more math. And he said...don't. Well, not "don't," but that math is a skill that is used to do things (even if you use it to make more math eg pure math). That is to say, studying real analysis just to study real analysis is of course fine, but you will forget it faster than you think (he lamented all the math he had forgotten in his career as a programmer after his phd). So while you can certainly "study math" as a pursuit of personal enrichment, math is as much a tool as anything else.

posted by wooh at 2:16 AM on April 25, 2020 [4 favorites]

Seconding everything The Notorious B.F.G. said. Theoretical CS is math-heavy (but doesn’t come to mind immediately when thinking about business. For that, more applied CS looks more promising). If you consider logics part of math, formal methods are another CS subfield with lots of math. Cryptography is another. Networking and other systems subfields can be mathematical when doing performance evaluation and analysis.

posted by meijusa at 4:02 AM on April 25, 2020

posted by meijusa at 4:02 AM on April 25, 2020

Some areas of CS that include lots of math:

- AI/ML

- Computer vision

- Cryptography

- Data science

One possibility that would include lots of math, finance and business is pursuing actuarial science. I have a friend who has a master's degree in math and took most of the actuary exams, and is now working as a data scientist. I'm not sure if there are pre-reqs to taking the exams but they could give you good structure on learning finance topics. This isn't a subfield of computer science but computer science could be a really good addition to those skills. For example, there are some very intense hedge funds that hire programmers and tend to ask math-heavy questions on interviews - having a good background in math & finance would give you a leg up.

posted by catcafe at 6:32 AM on April 25, 2020

- AI/ML

- Computer vision

- Cryptography

- Data science

One possibility that would include lots of math, finance and business is pursuing actuarial science. I have a friend who has a master's degree in math and took most of the actuary exams, and is now working as a data scientist. I'm not sure if there are pre-reqs to taking the exams but they could give you good structure on learning finance topics. This isn't a subfield of computer science but computer science could be a really good addition to those skills. For example, there are some very intense hedge funds that hire programmers and tend to ask math-heavy questions on interviews - having a good background in math & finance would give you a leg up.

posted by catcafe at 6:32 AM on April 25, 2020

Another possibility is modeling physical systems as they evolve in time. This is involved in a lot of engineering fields: materials science, design of all kinds of moving objects, computer control of machines, robots, parts of cars and planes, etc. It depends heavily on linear algebra and differential equations. There are niches both for people who specialize in the underlying math and for people who specialize in the relevant kind of engineering.

posted by nebulawindphone at 7:10 AM on April 25, 2020

posted by nebulawindphone at 7:10 AM on April 25, 2020

Response by poster: Since it was asked, my interest is in stochastic processes and numerical analysis.

I don't know if I can apply to applied math or applied statistics programs. While my undergrad was likely similar to a minor in math it isn't enough for some degrees.

I would like to apply to applied math/stats programs but it might not be possible for me to get in. Some have told me they consider everyone, others not so much.

posted by Tarsonis10 at 7:18 AM on April 25, 2020

I don't know if I can apply to applied math or applied statistics programs. While my undergrad was likely similar to a minor in math it isn't enough for some degrees.

I would like to apply to applied math/stats programs but it might not be possible for me to get in. Some have told me they consider everyone, others not so much.

posted by Tarsonis10 at 7:18 AM on April 25, 2020

If you're seriously interested in numerical analysis, you should take differential equations and/or multivariable calculus this fall. These are standard courses, and you should be able to find a ton of different options, whether through a local university or community college, or fully remote.

I want to second the commenters who have mentioned engineering: the line between applied mathematics and engineering is very, very blurry, and there may well be a professor in a school of engineering who is working on precisely the kinds of problems that intrigue you.

posted by yarntheory at 7:29 AM on April 25, 2020 [5 favorites]

I want to second the commenters who have mentioned engineering: the line between applied mathematics and engineering is very, very blurry, and there may well be a professor in a school of engineering who is working on precisely the kinds of problems that intrigue you.

posted by yarntheory at 7:29 AM on April 25, 2020 [5 favorites]

Do you need the masters program for a better job or to get onto a doctorate program? You seem to expect perfect guidance. Let yourself learn from not finding the optimal path immediately but from handling disappointment. when you've got too many options and are paralysed by the choices, pick one and iterate. Aiming for right first time traps you: 'the perfect is the enemy of the good'.

CS: you will get as much maths as you need by studying Don Knuth's

For stochastic processes, you'll want the tools of dynamical systems -- how things change from over time -- and that will involve differential equations. They're talked up like they're a big deal, but they're a tool like a finite state automaton or recursive descent parser.

For numerical analysis, the driving force for it as an approach is mapping out and taming systems where differential calculus can't be used, so you'll want to know what and why differentiation and integration would but can't play a part.

posted by k3ninho at 3:13 PM on April 25, 2020

CS: you will get as much maths as you need by studying Don Knuth's

*The Art of Computer Programming*. It is mostly discrete systems and algebra for reasoning about computation. Groups and fields help with cryptography.For stochastic processes, you'll want the tools of dynamical systems -- how things change from over time -- and that will involve differential equations. They're talked up like they're a big deal, but they're a tool like a finite state automaton or recursive descent parser.

For numerical analysis, the driving force for it as an approach is mapping out and taming systems where differential calculus can't be used, so you'll want to know what and why differentiation and integration would but can't play a part.

posted by k3ninho at 3:13 PM on April 25, 2020

This thread is closed to new comments.

posted by demiurge at 10:35 PM on April 24, 2020 [1 favorite]