math & physics
arnold_26 at November 25th, 2006 06:44 — #1
In computer science we are using discrete math right?
I want know what is the role of discrete math in computing.
I mean in our everyday lives, I'd like to see the importance of it.
I want to see the theories in discrete math is used in the field programming / software developing, games, web developing, business, or operating system stuff like that.
Cos I don't see it. Especially if you are living where outsourcing is in rapid growth.
I've asked my professor on this one he will just answer "is included to my course a pre-requisite of automata" or "in some technology today"
I don't want a general answer, I want a specific answer on this.
dave_ at November 25th, 2006 07:17 — #2
Bad Question. You ask a general question and yet you want a specific answer?
If you dont know how discrete maths is applicable, you dont know what it is
reedbeta at November 25th, 2006 14:52 — #3
Here's an example. In games you want NPCs to be able to figure out how to get from one place to another. To do that you need a path-finding algorithm, which is a component of graph theory, which is part of discrete math.
That's one specific example. More generally, discrete math is useful because it lets you do algorithm analysis. You can find out if an problem is solveable in polynomial time or if it's NP-complete. You can find out if a problem is computable at all or if it's undecidable. These are sort of important things to know so that you don't waste your time trying to find an algorithm to an undecidable problem, or trying to come up with a fast algorithm for something NP-complete!
Moreover, discrete math will let you comprehend data structures, and I don't just mean like arrays and linked lists, but like trees, graphs, heaps, deques, sets, dictionaries, hash tables, and so forth. And choosing the right data structure to apply to a problem is supremely important in all fields of programming.
Finally, even if the actual content of the class is less than useful, taking the class is still useful because it teaches you how to write and understand formal proofs. This is an absolutely necessary skill if you think you might ever want to do research in CS, and not just spend years being a grunt programmer for other people's projects.