As the title says,

How important is Discrete Mathematics for a Computer Scientist? Background: I'm pursuing a Master's degree with a focus on fundamentals such as Algorithms, Complexity and Computability Theory and Programming Languages to get a good foundation for working in the field of Parallel Computing.

Some more background: My university grants a lot of freedom in the choices of courses for my Master's degree. It's officially called "Software Engineering", but due to a the broad range of electives, a different focus is possible. Interestingly, none of the electives is a lecture in Math! I'm thinking about doing a course about Discrete Mathematics that would take half a semester to complete successfully, even if I can't use it for my degree. So with this question I'm trying to find out if the effort is justifiable.

closed as off-topic by Kilian Foth, Bart van Ingen Schenau, ratchet freak, amon, Telastyn Nov 25 '14 at 12:43

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 here. They are only meaningful to the asker and do not generate lasting value for the broader 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." – Kilian Foth, Bart van Ingen Schenau, ratchet freak, amon, Telastyn
If this question can be reworded to fit the rules in the help center, please edit the question.

locked by Thomas Owens May 19 '15 at 14:24

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

Read more about locked posts here.

  • 1
    I had discrete math in bachelor... helped me in computer graphics and artificial intelligence. – K.. Aug 31 '12 at 14:48

As a Computer Scientist looking to get a Master's degree with focus on "Algorithms, Complexity and Computability Theory and Programming Languages" I would say Discrete Mathematics is very important.

Discrete math will help you with the "Algorithms, Complexity and Computability Theory" part of the focus more than programming language. The understanding of set theory, probability, and combinations will allow you to analyze algorithms. You will be able to successfully identify parameters and limitations of your algorithms and have the ability to realize how complex a problem/solution is.

As far as the programming language, discrete math doesn't touch on how to actually program; but rather it can be used for software system design specification. I used "ZED" in university, and it was dealing with designing a system using set theory. I'm not sure what percentage of software systems are designed with set theory these days though.

The last important concept to grab out of discrete math is boolean algebra. This is very useful not only for creating logical solution, but it is very useful in programming too. Software can be made/broke simply on the boolean logic in it.

Overall, discrete math is not a numbers class for the most part. It makes you use your brain in ways no other classes do. It is a logical thinking class and you must have patience if doing proofs/logic computations don't come easy to you. I've seen people change majors because they couldn't think "abstractly" enough to get through the course.

In short, I would make a stance that discrete math would be important class to take for a Computer Scientist/Software Engineer.

  • 1
    Was going to answer but this is essentially my answer. – Eliot Ball Aug 31 '12 at 15:37
  • It's been a few years, but I remember Discrete Math going into Languages. First half of the class was Boolean Algebra and Sets, second half was languages and automata. Were they just combining two classes? – Chris Jan 9 '13 at 12:52
  • I guess it depends on the pace of the class. If it was learning about a bunch of theories I guess you could get away with saying it was one class; but if you're writing something like an automation spec using Set language, then its a combination of two classes. Discrete math is a broad enough topic that it should only teach theory and use examples (i.e. homework) to elaborate on the theory. – Kcvin Jan 9 '13 at 14:57

Actually Discrete Mathematics is the backbone of Computer Science or I say the Theoretical Computer Science. Without The study of Discrete mathematics, We miss the crux of Computer Science-Logic Development. It brings rational clarity to your solutions and a formal way of analysing a problem.

Every field in computer science is related to discrete objects whether it is databases, Nueral networks, Computer Organization, Compilers, Network Programming etc. I would say it is the 'parent subject' of computer science and every one should study this subject.

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