Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

How much do you need to know for computer science? When you get out of a PhD program in computer science at most schools how much math do you come out knowing? I'm guessing beyong the high school precalc stuff, you have to know what's called discrete math that there's usually one course for at most schools and it covers all the concepts required for compiuter science (combinatorics, probability & statistics, number theory, proofs, formal languages, etc.)

And I'm guessing you need to know linear algebra, and calculus (both single and multivariable). I don't think you need to know differential equations, abstract algebra, higher analysis, non-euclidean geometry, and stuff like that - typically, a math major learns those.

share|improve this question

closed as off-topic by MichaelT, Snowman, Robert Harvey, gnat, TZHX May 5 at 9:10

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, Snowman, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

It would depend on what the the subject of the PhD is. Surely some of them could get involved in "stuff like that, that typically a math major learns"...? Is there a specific subject that you're interested that would help us give more specific answers? –  FrustratedWithFormsDesigner Aug 2 '11 at 20:49
If the Ph.D. is security-related a LOT of maths will be envolved far beyond basics. Number Theory, Abstract Algebra, Modular Functions and So on. –  Randolf Rincón Fadul Aug 2 '11 at 20:54
Good point, @Randolf. And in other graduate programs, you won't need any additional math at all beyond your undergrad requirements. –  Karl Bielefeldt Aug 2 '11 at 21:09
This very much depends on what school you are coming from, what school you are coming to, whether you had a second major/minor or deviated from the norm in any way. Most people, whether they are entering industry or grad school feel like they have not learned enough as undergrads. Somehow they manage; there are even ways to catch up. However, no matter where you go, CS degrees are dime a dozen, and another major (math) will ... if not give you an edge, then help you survive the boot camp with fewer injuries. –  Job Aug 2 '11 at 21:10
PhD in artificial intelligence involves a lot of math and statistics. Very heavy on Probability theory, calculus, linear algebra... –  siamii Jun 17 '12 at 12:21

3 Answers 3

There's no way that one course will make you very good at combinatorics, prob & stats, NT, proofs, formal languages, and the other things you mentioned. Usually, it's multiple courses.

Most colleges have a course that covers prerequisite math for CS majors, and they cover some number theory, some combinatorics, and some graph theory. You usually cover tougher combinatorial problems and more math in an algorithms course, and you can continue to take more math if you'd like. You can take courses in networks/graphs that go deeper into graph theory, and courses such as formal semantics will cover some of the other areas you mentioned.

In essence, you learn a little about many of those areas but you have the freedom to go in depth into one or a few of the topics you mentioned. What you study depends on your interests and course requirements.

share|improve this answer

discrete math that there's usually one course for at most schools

Do you mean "Most schools" as in across the globe, or as in among schools that put heavy emphasis on math, computing, and engineering disciplines? Because if you meant the latter case, I think you are mistaken about the amount offered for and expected from CS majors.

For example, at RIT, Discrete Math has two levels, and additionally offers courses with titles like Graph Theory, Matrices and Boundary Value Problems, Combinatorial Mathematics, and more, and the CS department has classes on Computer Science Theory, Computability and Complexity, etc. Not all of these are required of CS majors, but there's a solid requirement level for the major, including Calculus on top of the Discrete-founded concepts.

In my opinion, a CS program that doesn't have a modest math requirement should be looked at very skeptically, possibly avoided.

share|improve this answer

University of Waterloo puts their CS department within a Faculty of Mathematics that would likely be one end of the spectrum on this in terms of having a good number of Math courses even if one's major is only CS.

Depending on what the research area was for the Ph.D. I could imagine more than a few different areas of Mathematics being the focus. For example, how much Numerical Analysis or Symbolic Computation does someone writing about an NP-complete problem have to know?

share|improve this answer

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