# What math should a computer scientist take in college?

I'm a computer science major and like many of us we have to take two additional sciences. These two additional science courses are in addition to three semesters of calculus,two semesters of physics, and one semester each of linear algebra and discrete math.

I could take the easy way out and take an algebra based astronomy course, but I want the most bang for my buck as it relates to my major.What other types of math classes should I take? I do enjoy math a lot and have always done well.

-
What are the options? – Peter Taylor Jan 18 '11 at 20:32

I am assuming you are going to do theoretical research in Computer Science.

Since you have already taken Calculus, Linear algebra and Discrete Mathematics (which I presume includes Graph theory and some Combinatorics),

I would suggest

• Abstract Algebra: For a motivation of this, try reading the paper Primes is in P which gives a polynomial time algorithm for prime number detection. Abstract Algebra has practical computer science applications too, for example: Coding Theory.

• Probability: For a motivation of this, try reading some of the hardness of approximation results based on the PCP theorem.

You might also want to check out http://cstheory.stackexchange.com. The following two questions from there seem relevant (but hopefully, won't add to the uncertainty) and could perhaps be used to get ideas for future courses.

http://cstheory.stackexchange.com/questions/1920/examples-of-unrelated-mathematics-playing-a-fundamental-role-in-tcs

http://cstheory.stackexchange.com/questions/2571/what-kind-of-mathematical-background-is-needed-for-complexity-theory

Hope that helps.

-

According to this (site about math for computer scientists), graph theory,combinatorics, probability, and number theory would be worth taking.

-

Linear programming

If you are interested in game development you should also take a geometry course too.

-
Aren't Linear programming (at-least basics) are taught in CS major itself? – VelvetThunder Jan 17 '11 at 20:30

I would go with Digital Signal Processing and Applied Mathematics.

-

I would advise you to take advantage of college to study something sufficiently different if available, that could be even advantageous from a professional point of view:

• biology / genomics / bio-modelization / physiology

• captors / sensors / signal analysis / astronomy / experimental engineering

• linguistics / phonology / ethnography / library science

My reasoning is that you are already accumulating sufficient CS culture to train yourself in nearby areas. You will work with other people with a strong culture in C.S. and math. That's probably only in college that you will have a hands-on experience on something else.

A potential recruiter can appreciate this openness, and most of the topics I quote are developing strong computer science interaction.

-

It depends on what you want to do. If you're interested in security, take a cryptography class. If linear equations are your thing, take linear algebra. If you're going to analyze data, a statistics. I know in college it's hard to know exactly what you want to do after graduation, but in order to answer this question, you really do need to think about it.

-