Hello, since you are a programmer, my answer will revolve around a particular aspect.
A typical programmer needs to have the basic knowledge of the following perspectives of Mathematics.
CalculusCalculus is mostly used in the physical sciences to examine changes in physical quantities. Calculus is only used in programming when the problem area requires it. The important thing is why students find mathematics difficult:
https://mytutorsource.hk/blog/why-do-so ... difficult/Book recommendation for the subject: "Calculus" by Thomas Finney. It is very accessible and written in a practical calculus kind of way, this should suit your engineering background.
Linear AlgebraMany fields of computer science, including graphics, image processing, cryptography, machine learning, computer vision, optimization, graph algorithms, quantum computation, computational biology, information retrieval, and online search, rely on linear algebra ideas.
Book recommendation for the subject: Linear Algebra and Probability for Computer Science Applications by Ernest Davis.
Probability and StatisticsProbability and Statistics for Computer Science covers the most popular discrete and continuous distributions, explains how they're used in decision and estimate issues, and builds computer algorithms to generate observations from the various distributions.
Discrete MathematicsFor building sophisticated software, discrete mathematics problem-solving strategies are required. Students that excel in discrete mathematics will be able to generalize from a single issue to a whole class of problems, as well as recognize and abstract patterns from data.
Book recommendation: Discrete Mathematics and its application by Kenneth H. Rosen
Analysis of AlgorithmAlgorithm analysis is a crucial aspect of computational complexity theory since it offers a theoretical estimate of how much time and resources an algorithm will need to solve a given issue. The assessment of the amount of time and space resources necessary to execute an algorithm is known as algorithm analysis.
Book recommendation: An Introduction to the Analysis of Algorithms by D. E. Knuth