Recommendations for maths courses choice to study AI I study computer science at the Charles University. The undergraduate study (baccalaureate) in "general computer science" programme provides several focus areas, which are followed by corresponding programmes in the graduate study (master). I chose to go for mathematical linguistics in the undergraduate and artificial intelligence (Probably with machine learning focus, but I'm not sure yet.) in the graduate study.

My problem is: There are some mandatory maths courses and some optional. Some of the optional ones are recommended, but not for specific focus areas. So I wanted to ask for some advice on which areas of mathematics are recommended for this area.

Most courses are split into multiple semesters and completing only the first few is usually mandatory, continuation of the other ones is optional. So far (first year of undergraduate), I have completed these mandatory courses:


Mathematical analysis I, II
Discrete mathematics (Continues as Combinatorics and Graphs.)
Combinatorics and Graphs I
Linear algebra I, II (No more courses available, only applications in computer graphics etc.)


Mandatory courses for next years:


Probability and Statistics
Propositional &amp; Predicate logic
Algebra I


List of some available optional courses:


Mathematical analysis III
Combinatorics and Graphs II
Set theory
Numerical mathematics
Algebra II
Mathematical analysis III
  


Probably overkill, but it depends on the actual content. You will need some multivariate analysis (partial derivatives, Jacobians, Hessians), but I suspect it's already in the first two courses.


  
  Combinatorics and Graphs II
  


Maybe not specifically for AI, but in general it should be a useful course for a computer scientist. Again, it may depend on the actual program; if it is set up as a very abstract course then it may be overkill.


  
  Set theory
  


Not so useful. Probably more abstract stuff that you'll ever need as a computer scientist.


  
  Numerical mathematics
  


Very useful. Matrix computations, stability and the floating point model, basic root-finding and optimization algorithms... That's all stuff that you will probably need.
 I'm surprised that it is not mandatory for a computer scientist (but I work in that area, so maybe I'm biased).


  
  Algebra II
  


Not so useful. Probably more abstract stuff that you'll ever need as a computer scientist.

Other courses: look out for a course on optimization (it might also fall in the "numerical mathematics" category). Neural networks are based on optimization/fitting algorithms.