Is it important for developers to know discrete math? Most of the books about algorithms and analysis have at least some references to math. I can easily understand the algorithms in principle and can implement them without any problem, but when it comes to the math parts I get stuck. Is it generally assumed that developers will have deep knowledge of math to understand algorithms and methods?
Computer science is almost built on discrete mathematics (e.g. combinatorics and graph theory). So understanding discrete mathematics will help you understand all the fundamentals of computing. It will let you think like a computer and know how everything works.
Discrete math can be used for software design specifications, analysis of algorithms, and other practical applications, but it's really a great tool to develop as a programmer. Put simply, it's a building block for logical thinking.
Discrete mathematics is a crucial prerequisite to algorithms because it covers probability, graphics, logic statements, and much more. For example, the graph theories come in handy in networks, compilers, operating systems, etc. Set theories are helpful in databases and software design.
The fundamentals of Machine Learning are deeply rooted in discrete mathematics. Familiar concepts such as Markov Models, probability theory, graph searching, and dis- cretization of continuous functions appear repeatedly in the algorithms that power the modern revolution of Machine Learning.
It depends on the kind of developer you're talking about and the kind of math you're talking about. I'm pretty sure that most of the "ordinary" developers don't need to know much about math. But, do you want to be "ordinary" developer?
That said, knowing math will definitely make you a better developer, because it trains your mind in a way that is useful not only for solving specific (math) problems, but also teaches you how to think about problems in a more formal fashion (which, I believe, is important for writing correct code).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With