# Is discrete math enough for computer science ? Or there other Math topics that I should also learn With it?

I want to learn computer science, SO is discrete math enough for computer science ? Or there other Math topics that I should also learn With it ?

I don’t have specific topic that I care more about than others (like cryptography) ,Just CS.

## 2 Answers

Discrete mathematics, linear algebra, calculus, and probability are all used pretty much everywhere in computer science. Basically, discrete maths is the basis of everything, while linear algebra and calculus are used in specific areas of computer science, and there are various places you will see probability.

Probability is usually used to describe randomness in your algorithms, and therefore is used quite a lot. Basic knowledge of probability and expected value of random variables is usually enough.

Calculus is used mainly in optimization and machine learning problems (but you can still see it elsewhere).

Linear algebra, and specifically matrices from it are especially useful. You might not need the entire course for every application of it in computer science, but it will be very useful in machine learning.

I know there are other mathematical topics that can be useful for computer science, like group theory, but I don't have experience with them to tell you what they are used for.

Also, there is no need to learn everything at once! You will start the math topics appear only in more advanced courses.

• That’s is the answer I needed, thank you – Thuraya Otto Mar 1 at 14:27
• I think I should start discrete math and later in the future I will figure out what topics I want to learn as well. – Thuraya Otto Mar 1 at 14:36
• I think thats a good plan, especially if you are learning on your own for fun. However if you are studying in a university, you should probably stick to what your university suggests. – nir shahar Mar 1 at 14:47

In addition to the basic math knowledge, a solid grounding in Logic is necessary for tackling topics such as

While one could argue that Logic isn't math per se, the overall approach and formalism are almost the same. You may hear relatively less about these topics on the Internet, but they form the backbone of any respectable undergraduate CS study plan. Logic will also be invaluable in gaining an insight into how mathematical proofs work.

You may find some of these topics hard to learn on your own if you do not follow an appropriate study plan, so in the end it may make sense to enroll at a CS school.