Current location - Training Enrollment Network - Mathematics courses - What kind of mathematical foundation do programmers need?
What kind of mathematical foundation do programmers need?
Discrete mathematics is very important to programmers, as well as combinatorial mathematics, linear algebra, probability theory, number theory and so on. Even if you don't do research in the future, these basic knowledge can greatly improve your level. Computer science requires high discrete mathematics. I suggest you study these courses first, then learn computer algorithms and data structures, and then cooperate with the online question bank to do the questions. The process is difficult, but it will be of great help to you.

Recommended bibliography:

"Specific Mathematics" (finish the previous math class first, and then look at it after the level has improved to a certain extent)

Introduction to Algorithms (a good book for everyone)

Simply put, the purpose of learning mathematics is to activate your thinking on the one hand; On the other hand, in order to lay the foundation for the in-depth learning algorithm, imagine the same problem. Ordinary people's programs can solve it in tens of minutes or even hours or days, or even can't solve it at all, but your carefully designed programs can solve it in 1 second. This is the charm of mathematics, the charm of algorithm.

In fact, everything depends on whether you want to be a senior programmer or not. If you do manual work (in fact, programming is generally considered manual work by others), then you don't have to learn it, because you don't need it. However, if you make technological innovation and become a powerful programmer without the support of mathematics, it is very difficult.

Since you have studied C and c++, you also know the importance of algorithms. I used 13 lines to solve the same problem, but my classmate actually used 33 lines because he didn't know math. What advanced level you want to reach depends on your math literacy. Of course, you don't have to study to become an ordinary programmer. Challenge yourself, do well, and learn math!