Discrete Structures Important in Computer Science

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.
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.

Comments

Popular posts from this blog

Research Methodlogy

Is 1 GB equal to 1024 MB or 1000 MB?

Flash Memory and Flash Drive