Search code examples
mathtaocp

What Math Do You Need To Read The Art Of Computer Programming?


I came to a career in software development with a degree in English, rather than Computer Science or another science/engineering background. I have gone a long way on my self-taught basis, but after 10+ years of doing this, I want to go back and fill in the gaps, particularly with the math.

The obvious place to give myself a Comp-Sci education is to go through The Art of Computer Programming. However, as I didn't take all that much math and my last math class in college was in 1995, I need some brushing up and augmenting to even be able to read the math notation in TAOCP.

My thought was to go to Khan Academy and work through the necessary topics as a remedial prereq to reading TAOCP. However, in a Catch 22, I'm trying to figure out which topics do I actually need to go through as prep.

So, what I'm wondering is, if someone basically only had high school math (I've got a bit more than that, but I think it's a valid question for someone to approach this with just high school as a background), what math "classes" does one need from somewhere like Khan Academy in order to start TAOCP prepared to read and understand the included math?


Solution

  • Knuth is not the place to start. It's the place to strive for.

    So, remedial math is good. But don't beat yourself up if it takes years to master the math required to read (and understand Knuth).

    Old, but still excellent: http://www.amazon.com/Fundamental-Structures-Computer-Science-William/dp/0201087251

    Look for titles like this:

    http://www.amazon.com/Discrete-Mathematics-Computer-Science-Curriculum/dp/1930190867

    Or like this

    http://books.google.com/books?id=b9nHPJvP7xgC&printsec=frontcover&dq=computer+science+mathematics&source=gbs_similarbooks_s&cad=1#v=onepage&q&f=false

    You want "discrete mathematics" to start with.

    Also, you'll eventually need

    http://www.amazon.com/Computability-Computable-Functions-Foundations-Mathematics/dp/0534103561

    Or something similar.