# Math Concepts in Programming [Dev Concepts #2]

Do you need math to be a programmer? Is school-level math enough? Find out in this video! Have you ever wondered whether you need to be good at math to become a developer? Well in this video we explain it all. Watch it to find out just how much math developers use on a daily basis!

Simple mathematical concepts are often needed and applied in software development.

This doesn’t mean that software developers should be strong mathematicians, but they should be familiar with the basic math concepts at school level.

Developers don’t need to prove theorems or solve differential equations, but they need to understand coordinate systems, they need to know what a function is, they should be able to perform simple calculations, and they should have well-developed algorithmic thinking, which is like the logical thinking used in math.

School-level math is enough for most developers, unless they are involved with computer graphics, machine learning or other math-intensive specialization.

If you are new to programming, make sure to watch our Free Full Java Basics course! It will give you the necessary foundation to build upon and become a successful software engineer!

## Lesson Topics

Below are the most important mathematical concepts related to programming:
• Coordinate systems and graphical objects with their size, position, and other numerical characteristics are used in computer graphics and user interface systems, such as HTML and CSS, PDF, SVG and others.
• Mathematical functions, elements of lambda calculus, discrete functions and other simple mathematical transformations are used by developers when they write code, as part of the functional programming paradigm and some modern architectural approaches like “serverless computations”. For example, developers may define functions in their programming language, which transform input values into an output result. Or they can pass a function (called a callback or delegate) as a parameter to other function.
• Vectors and matrices may be used in graphics, machine learning, and everywhere else. In fact, developers use vectors every day, because “vector” is the mathematical name of “arrays and lists”. “Matrices” is the mathematical name of “tables” that we know well from spreadsheet and Excel applications.
• Finite state automata and state machines are used in parsers (which extract data from structured text), in-process management and workflow management software, and in interpreters and compilers.
• Statistics concepts, such as probability distributions, statistical significance, hypothesis testing, and regression are widely used in data science and machine learning. In machine learning, data science, and artificial intelligence systems, math skills are more important. But in traditional (mainstream) Web, mobile, and back-end development, we need nothing more than school-level math and logical thinking.
• Algorithm complexity is a math concept from the mathematical analysis, used to estimate the execution speed of the code, based on the approximation of the steps needed to be executed. Developers need to learn the concept of “time complexity” and what is linear time, quadratic time, cubic time, and logarithmic time, which is quite simple, and mathematics is not deeply involved.
• Mathematical modeling is the art of translating problems from an application area into tractable mathematical or formal formulations whose theoretical, numerical, and algorithmic analysis provides insight, answers, and guidance useful for the originating application. Mathematical modeling is an important skill, related to algorithmic thinking, and developers with strong problem-solving skills learn how to use it at a basic level.

Remember that coding is a skill, which should be practiced. To learn to code, you should write code, every day, for a long time. Watching tutorials is not enough. You should code!

We would love to hear from you, so leave a comment below saying what topics you would like to see next.

#### Recent Posts 