

What math courses for programmers? - globalrev

I am airly good at programming, I know a few languages and frameworks.<p>I am not a professional yet however and I will go to college a bit at least.<p>What math courses are essential to programming/computing?<p>I'm thinking:<p>Linear algebra(used in machine learning neural nets)
Matrix-stuff(graphics?)
Statistics/probability(good for everything, used in machine learning etc)
Graph theory(search etc)<p>More?
======
rw
You've touched on some good courses already, but make sure to stretch yourself
in whatever you take. One major class that you forgot to list is discrete
math. It is there that most people first get exposed to proofs and graph
theory.

To push yourself, I highly recommend taking (perhaps just sitting in on) a
course in upper level logic, like mathematical logic, set theory, topology,
and so on. The reason is that these topics are highly abstract, but in the
process of doing proofs, you will learn how to think more precisely and
clearly.

Also, your most productive education is often created outside of class. Try
very hard to find a professor (or two) who cares about you as a learner, not
just as another number in the gradebook. Go to office hours as much as he or
she will let you!

Lastly: resources like Open Courseware are worth their bytecount in barrels of
oil. Don't leave them unused, especially if a traditional education is out of
your grasp for the time being.

Good luck, math is amazing.

~~~
dfranke
_Lastly: resources like Open Courseware are worth their bytecount in barrels
of oil. Don't leave them unused, especially if a traditional education is out
of your grasp for the time being._

For that price you could just buy MIT :-)

------
scorpioxy
Any math is good math. For example, something like graphics programming would
make use of almost all math fields. Another example would be AI.

But i don't believe in studying math to make use of it in CS. I believe in
studying CS and then learning the math that is needed along the way. You'll be
surprised at how many practical CS problems can be mapped to simple
mathematical problems. So, since you can't anticipate this, working with a
mathematician helps.

------
MaysonL
Take enough math that you'll be able to understand any problem domain math
models you run into.

That said, the real value of maths will be the exposure to abstract thinking:
once you've grokked Noetherian rings, no data structure imaginable will hold
any terrors for you.

(But remember to keep it as simple as possible (but no simpler)).

------
gtani
if you get the math in Norvig/Russell's AI text, and the 2 leading Natural
Language processing texts (Jurafsky/Martin and Manning/Schuetze) you'll be
golden.

Hot off press , 3 week old <http://www.cs.colorado.edu/~martin/slp2.html>

even hotter [http://www-csli.stanford.edu/~hinrich/information-
retrieval-...](http://www-csli.stanford.edu/~hinrich/information-retrieval-
book.html)

data mining: there's a few good books, look at Amazon reviews (Han/Kamber,
Witten/Frank, the one i have:

and a pretty accessible / non-dense intro, Programming collective intelligence
<http://oreilly.com/catalog/9780596529321/>

------
gaius
Big-O stuff, asymptotic notation, Theta notation, analysis of algorithms.

------
jsjenkins168
A class on queue theory is great background for network programming.

