Advanced Mathematics for Computer Science

Started by
32 comments, last by taby 12 years ago
What do you feel are some of the more important mathematical courses / topics that one should learn for computer science?

For example:
Abstract algebra? Number theory? Chaos theory/nonlinear dynamics? Combitorics? Graph Theory? Optimization?
Advertisement
A few things that I imagine are fairly universal:

Algorithms & data structures
Computability and complexity ("theory of computation")
Graph theory
Combinatorial Optimization
What WaryVirus described all falls under Discrete Mathematics, and it is indeed important.

Although perhaps not very specific to CS, I would add Linear Algebra because it is important for everybody.
Yeah, Discrete Mathematics is huge, and I'd put Linear Algebra in there too (especially for graphics, though I use Linear Algebra concepts all the time in various ways). I'd also say a good knowledge of Calculus (and maybe some Differential Equations) can be very handy at times. It seems to me like Discrete Mathematics helps to decompose the problem properly, and then often Linear Algebra or Calculus can be useful in solving some of the decomposed problems.
[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]
Anything else? Discrete mathematics isnt really what I would consider upper division math, but I know its important. Has anyone found applications for Abstract algebra? Number theory? or Chaos theory? If so what are they?
I have used a few things from Abstract Algebra and Number Theory for hashing and pseudo-random number generators. I've used statistics quite a bit (Are those numbers really random? Is this version of my chess program stronger than the previous one?). Probability is really important for almost anything in Artificial Intelligence. If you do graphics, Euclidean and Projective Geometry are pretty important.

I only know a little bit about Chaos Theory, but my understanding is that it's pretty useless. It's just one of these things that have a sexy name and produce pretty pictures, but I don't think you can really do a whole lot with it.
I would say discrete mathematics, linear algebra, calculus, graph theory, and statistics.
I enjoyed watching the videos at ADUni.org. It shows an example structure of what undergrad CS education is like.
It shows an example structure of what undergrad CS education is like.

This is a nice link, but I am ideally looking to go into upper level CS stuff such as theortical computer science, algorithm design, hpc, etc.
On top of what everyone said, without a doubt take a graduate course in Neural Networks.

This topic is closed to new replies.

Advertisement