Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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
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 R-F 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
add comment

3 Answers

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
add comment

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
add comment

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
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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