I have read several answers on this topic , but I still have questions.. There are plenty of math courses, and I don't know which one to take first. Which math classes should every computer scientist take? And what class should be first one and why?
Computer science is a broad field, so if you're looking to get your computer science degree, the kind of math you'll need to know will depend on your specific program and career path. But generally speaking, most degree programs require a basic understanding of calculus, algebra, discrete mathematics, and statistics.
Math is an essential component of computer science which underpins computing and programming concepts. Without it, you would find it challenging to make sense of abstract language, algorithms, data structures or differential equations.
In fact, Computer Science does require less mathematics than a pure-maths degree or even an electrical engineering degree, but some of the math you will encounter will be more difficult and theoretical than you might expect. It is also possible that your university has different requirements for computer science.
Very good and important question! A good understanding of math is essential for every computer scientist, and the math requirement is starting to become more diverse.
That said, if an intro to machine learning class is available, they will probably cover enough linear algebra and other stuff that you can get by with a basic probability class. However, for graduate study in computer science, a good understanding of all areas of math above is essential.
Beyond undergraduate math, higher-level math courses are useful for certain theoretical areas of computer science (e.g. algorithmic game theory, which intersects with economics) and especially in going beyond being a machine learning practitioner to developing new algorithms. These courses include:
Real analysis, including measure theory where you'll find that if you study probability and calculus for long enough, they converge again. Analysis is generally a useful thing to know when you start working with algorithms involving numbers.
Optimization, including linear optimization, convex optimization, gradient descent, and so on. In many cases, "learning" a machine learning model basically boils down to optimizing an objective function, and properties of this function such as whether it is convex have a big impact on how easy it is to optimize.
Numerical methods: some wouldn't consider this a math class per se, but in translating algorithms and theory into the imperfect representation of floating-point math, there are many practical problems to be solved. For example, the log-sum-exp trick.
For those who will be in "data science" and related fields, advanced statistics and especially causal inference are very important. There are a lot of things to know, mostly because having access to a lot of data tempts this problem for the uninitiated.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With