8
$\begingroup$

To become a better computer programmer I would like to take the time to learn discrete mathematics, but I am positive that I do not have the required existing knowledge to do so. So I would like to hear from the experts about what I really need to know to be able to take a discrete math class or to even be able to pick up a book and learn it on my own.

The extent of my math knowledge now is basic algebra. Probably not even high school senior level. Where should I start? I am guessing I should start with college algebra(or possibly even a remedial algebra), but I don't know where to go from there. Do I need trigonometry? The calculus? Calc II?

I wish I had worked harder in high school, but I didn't. Thanks for your answers.

  • 2
    Luckily, MIT has some nice introductory open courseware which will more than prepare you for discrete math courses. In fact, you'll do just fine in an introductory theory class with this under your belt: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2010/2011-09-08

1 Answers 1

10

You do need to be reasonably comfortable with basic algebra, if only so that you don’t worry about it; you do not need trigonometry or calculus. (If I had my way, high schools would replace most of their calculus courses with discrete math and elementary statistics.) What you chiefly need is the ability to follow logical arguments. Oh, and you need to be aware that you’ll often be dealing with exercises that are much less routine in nature than those in the math courses that you’ve had so far. Most of the mathematical tools that you’ll use in an introductory discrete math course are pretty simple; the trick is generally figuring out which ones to use on a particular problem and how to use them.

  • 2
    @GEdgar: Of course. But that appears to be a problem for another day. Indeed, I think that one could do a good deal worse than an intro. discrete math course as preparation for going further in math generally.2011-09-07