Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What math courses for programmers?
5 points by globalrev on June 12, 2008 | hide | past | favorite | 7 comments
I am airly good at programming, I know a few languages and frameworks.

I am not a professional yet however and I will go to college a bit at least.

What math courses are essential to programming/computing?

I'm thinking:

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)

More?



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.


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 :-)


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.


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)).


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-...

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/


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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: