# Mathematics For Computer Science

Discrete Mathematics

**Discrete mathematics** importance has increased dramatically in recent years. It is not the name of a branch of mathematics, like **number theory**, **algebra**, **calculus**, etc, it’s a description of a set of branches of math that all have in common the feature that they are “**discrete**” ( individually separate and distinct) rather than “**continuous**” ( forming an unbroken whole; without interruption). **Discrete** data can take on only integer values whereas **continuous** data can take on any value.

Discrete math was created a few decades ago and is the mathematical language of **computer science.** Universities found that the math subjects that lead to courses like calculus, did not sufficiently cover the type of math needed by computer scientists, so they put extra math topics together into one course now called **Discrete Mathematics**.

# Discrete Math Topics Include:

- logic and Boolean algebra
- set theory
- relations and functions
- sequences and series (or “sums”)
- algorithms and theory of computation
- number theory
- matrix theory
- induction and recursion
- counting and discrete probability
- graph theory (including trees)

# My Favorite Books For Learning Discrete Math

**(1) ****Discrete Mathematics Workbook**

(2) **Practice Problems In Discrete Mathematics**

# Discrete Math Topics and Their Importance:

1) **Logic**** and Boolean Algebra** are used in proofs to show that one step follows from the previous step. In the world of computers this logic is what is used when creating logic gates which are the hardware of all modern computers today.

2) **Set theory**. A set is a collection of unique objects. Set theory is considered one of the most important branches of computer science. Databases are at the root of most applications, and they are built to process data in Sets.

Big-O notation is a set of functions and describes how fast different algorithms process data. It is how computer scientists determine ‘good’ algorithms vs. not-so-good algorithms. So yeah, sets are pretty important in computer science.

3) **Combinatorics**** (counting and discrete probabilities)**. To hack into a computer it requires a 4 digit password, what’s the minimum number of tries that you need before you have tried every possible combination ? Using combinatorics, you can see that we have 10 possible digits (0–9) and 4 possible spots for each. The answer is 10⁴ or 10000, possible passwords. Learning combinatorics allows us to answer questions like that.

4) **Recurrence relations and recursion**. Recursion is a fascinating topic, and its importance in mathematics cannot be overstated. Recursion can be found in nature everywhere, from animal shells to flowers. Recursion occurs when a thing is defined in terms of itself or of its type.

5) **Graph Theory**. So many aspects of real life can be modeled with graphs that graph theory experts are usually focused on just a few areas. With graph theory the question can be asked, what’s the shortest path to a destination? Google maps uses graph theory.

6) **Tree theory**. Files and folder structures on your computer can be modeled by a tree. A binary search tree can find a value in a sorted structure with 1 trillion elements before you can blink your eyes, which shows the importance of tree structures.

Thanks for reading this article I hope its helpful to you all ! If you enjoyed this article and found it helpful please leave some claps to show your appreciation. Keep up the learning, and if you would like more mathematics, computer science, programming and algorithm analysis videos please visit and subscribe to my YouTube channels (randerson112358 & compsci112358 ).

# Check Out the following for content / videos on Computer Science, Algorithm Analysis, Programming and Logic:

**YouTube Channel:***randerson112358:*https://www.youtube.com/channel/UCaV_0qp2NZd319K4_K8Z5SQ

*compsci112358:*

https://www.youtube.com/channel/UCbmb5IoBtHZTpYZCDBOC1CA

**Website:**

http://everythingcomputerscience.com/

**Video Tutorials on Recurrence Relation:**

https://www.udemy.com/recurrence-relation-made-easy/

**Video Tutorial on Algorithm Analysis:**

https://www.udemy.com/algorithm-analysis/

**Twitter:**

https://twitter.com/CsEverything