Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should developers know discrete math? [closed]

Tags:

algorithm

math

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?

like image 383
NixDev Avatar asked Sep 05 '10 20:09

NixDev


People also ask

Do software developers use discrete math?

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.

Do programmers need discrete math?

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.

Do software engineers need to know discrete mathematics?

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.

Should I learn discrete math for Machine Learning?

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.


1 Answers

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?

  • If you're developing web applications that just display and allow editing of data in database, then you'll probably never need any math.
  • On the other hand, if you're developing a GPS system that shows a path to the target (or some other application that does more complicated calculations) then discrete math is going to be useful.
  • It doesn't necessarily be discrete math though - for example, in the finance industry, people need probability and statistics far more often.

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

like image 189
Tomas Petricek Avatar answered Dec 08 '22 01:12

Tomas Petricek