Discrete Math Knowledge & Computer Programming

AI Thread Summary
Knowledge of discrete math is highly beneficial for computer programmers as it provides a foundation in logic, which is crucial for problem-solving and understanding computer operations. Key topics in discrete math, such as set theory, formal logic, combinatorics, and graph theory, enhance a programmer's ability to analyze algorithms and understand the underlying mechanics of hardware and software. While specific skills from discrete math courses may not be directly applied in everyday programming tasks, they foster a deeper comprehension of how code functions at a machine level, including concepts like recursion and Boolean algebra. This understanding aids in performance analysis and tackling complex problems in theoretical computer science, ultimately contributing to more effective programming practices.
Nothing000
Messages
403
Reaction score
0
How useful is the knowledge of discrete math for computer programmers?
 
Technology news on Phys.org
Discrete math is essentially pure logic. Logic is very important for programmers, for obvious reasons.

- Warren
 
Are there skills learned in a typical Discrete math course that are actually directly used in the field of Software Engineering?

Here is a description of the Discrete Math class at my school:
Theory and applications of discrete mathtematical models fundamental to analysis of problems in computer science. Set theory, formal logic and proof techniques, relations and functions, combinatorics and probability, undirected and directed graphs, Boolean algebra, switching logic.
 
The skills are not directly used in programming, but a knowledge of formal logic will help you immensely in many indirect ways.

- Warren
 
Discrete Math is very important in understanding how computers, hardware and software, work. All the circuits in a CPU are discrete functions, all the arithmetic and all operations are performed in binary values (binary values being boolean strings). It's also useful in theoretical computer science and the analysis of certain very hard problems as well as in the performance analysis of algorithms.
It will help you know what is going on, how your code works at the machine level, how it performs, what is the domain and range of your algorithms, etc.
From a programming perspective it is important to get you to understand Recursion, which very powerful and often used, and some basic stuff like Boolean math. Graphs also have a special place in computer science, but most of this stuff is straightforward, and plain common sense.
 
Last edited:
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top