# Coding Math: What You Should Know Programming is all about dealing with numbers and building logic around them. Mathematics is one of the most important tools for programmers to develop sophisticated applications. Without the knowledge of mathematics, a programmer is basically handicapped. Think of it like you know the English language, but you don’t know how to write an essay.

Therefore, it is important for all programmers to be well versed with certain topics in mathematics that are central to programming. In this blog, we will talk about some of such topics.

## Linear Algebra

Linear Algebra is one of the most important domains of mathematics that often comes in programming. It is especially important for Data Scientists because matrices are widely used in to represent data in any Machine Learning problem. Programmers should be thorough with various terms like matrix, vector, identity matrix, transpose, inverse of a matrix, linear equations, linear transformation, etc. All of this is a part of undergrad level linear algebra and is a must for any programmer.

## Calculus

Calculus is another important part of programming. Calculus problems show up practically all the time in machine learning. In any machine learning problem, the ultimate goal is to optimize the cost function. This optimization requires extensive use of multivariate calculus which is taught as a part of undergrad curriculum. Calculus is also extensively used in simulation-based programs where various objects interact with each other. The interaction is modeled by the laws of Physics which are eventually backed by heavy mathematics.

## Mathematical Induction

Mathematical Induction is extremely useful in programming. Almost any recursion based problem can be modeled as an underlying mathematical induction problem. Therefore, it is important for all programmers to have a firm understanding of it.

## Graph Theory

Graph Theory is another important tool in programming. Think about Google maps – it is a giant graph. When you navigate from location A to location B, the underlying algorithms that calculate the shortest distance are backed by various theorems and proofs of graph theory. Some of the notable ones are Dijkstra’s algorithm, Depth First Search, Breadth First Search, Topological Sorting, etc.

## Probability and Statistics

Probability and statistics show up all the time. The entire domain of machine learning is based on probability and statistics. Each Machine Learning algorithm is modeled by an underlying probability distribution that generates the observed data.

## Boolean Algebra

Programming borrows several concepts of Boolean Algebra from mathematics. For instance, various logics like AND, OR, NOT, XOR & XNOR are all concepts of Boolean Algebra. They are all at the heart of understanding programming.

Programming and mathematics go hand-in-hand. Eventually, every programming problem is an underlying mathematics problem where programming has been used simply as a tool to perform computation and obtain the output. Therefore, all programmers who aim to be successful should be well-versed in the mathematics related topics mentioned above.