Recommend a programmer a book that teaches high school maths step by step
July 21, 2012 8:18 PM   Subscribe

Can you recommend a programmer a book that teaches high school maths step by step? I did maths at high scool and I was OK at it. However, fifteen years later, after forgetting almost all the maths I learnt back then, I am diving deep into the theory of programming algorithms (sorting, tree structures, graph algorithms and so forth). I find the programming straight forward, but I am struggling with the theory and proof of algorithmic time and space complexities. I am looking for a book that will cover algebra, logs, limits, inductive proof, matrix manipulation and so forth.

I'd like a book that assumes a grade school knowledge of maths, has lots of exercises and a gradual learning curve. Bonus points if it is enjoyable to work through.

There are a bunch of other questions where people ask for books to teach them high school maths. However, the answers are directed towards a general understanding of maths, rather than something that is specific to computer science.
posted by maryrosecook to Education (11 answers total) 37 users marked this as a favorite
Check out Concrete Mathematics: A Foundation for Computer Science. While it doesn't quite cover everything you're looking for, as it assumes some knowledge of algebra, etc., what you learn from it will stand you in good stead throughout the rest of your CS education, and working through it will certainly improve your grasp of CS-type proofs. However, I'm not sure what would be able to fill in the gaps in between, but a precalculus review book (say, by Schaum's) might be a good place to start.
posted by un petit cadeau at 8:32 PM on July 21, 2012 [4 favorites]

I'm not sure if a single book containing all of your listed requirements exists. I would recommend that you get a book on discrete mathematics (Rosen's Discrete Mathematics and Its Applications is a classic undergraduate book) and a comprehensive precalculus guide (I really like Schaum's guides for refreshers, although I cannot vouch for the quality of that specific one). You say that you need to understand limits and matrix manipulation; would you be able to give us some examples of when you are running into these subjects? Which materials are you using to teach yourself algorithms/data structures?
posted by semaphore at 8:39 PM on July 21, 2012 [1 favorite]

The Idiot Guides to Algebra and Calculus are pretty decent. I used them to review algebra and calculus before a stats class I took umpteen years after my last official math class. They aren't super detailed but the overview is very good and they are easy and fast to read. If you have any kind of aptitude for math or basic knowledge via the mists of time they're a good first review.
posted by fshgrl at 8:50 PM on July 21, 2012

My guess is you want Rosen, as mentioned above. The caveat is that it may be simply too big for your purposes, though. I have a paperback international edition and it bears a certain resemblance to a phonebook. I just checked the table of contents. It doesn't have basic algebra. There's an appendix covering logs and exponents, but the book assumes you know it already. There is a matrix section. I think the course I took using Rosen had calculus as a pre-req, but the book doesn't assume it.

The mathcentre website is designed to solve your problem, at least in theory. It probably imagines you've finished school relatively recently, though, so there might not be enough detail if you've totally forgotten things.
posted by hoyland at 9:25 PM on July 21, 2012

The 'The humungous book of [various kind of math] problems' books will teach you the basics in various areas of math. I've got the one about statistics and my only problem with it is that, apart from learning how to solve the statistics problems, I would have liked to know more about why they're solved in that particular way.
posted by rjs at 10:59 PM on July 21, 2012

Not a book, but have you tried Khan Academy?
posted by Obscure Reference at 6:58 AM on July 22, 2012 [2 favorites]

Maybe a different algorithms book would help? I'm finishing my CS degree and I got an A in my algorithms class, but I didn't find it very mathy except in the very abstract sense. Algorithmic analysis is...subtle, and maybe a different perspective would help.

Incidentally, you are welcome to MeMail me with questions and I'd be glad to try and help!
posted by joshuaconner at 9:08 AM on July 22, 2012

You said...

"high school maths step by step?"

Get this book.

The first part covers foundation topics, including everything you listed except proof by induction. If you want to keep going, you can continue with part two.

I cannot emphasize this enough: this book saved my life. It is the most didactally perfect mathematics textbook I have ever seen. No, not for math majors -- it's methods focused. But it works. If it could teach me, it can teach anybody.

The discrete stuff -- like set theory, proof by induction, etc -- you will have to get elsewhere. As yet, I have not found a really good discrete math textbook. Rosen is so expensive it's breathtaking. After being raped by US textbook publishers during my first stint at university, I was astounded when I discovered how much better (while at the same time costing a third the price) most UK textbooks are. If you are searching for something for self-study, that's what I'd stick to.

The next Stroud book covers matrix algebra and has some nice treatments of numerical methods for computing, so if you like Stroud I, you might want to consider it.
posted by rhombus at 10:19 AM on July 22, 2012 [2 favorites]

Oops -- somehow that last link got munged. You can found Stroud's Advanced Engineering Mathematics here.
posted by rhombus at 10:24 AM on July 22, 2012

Stroud (as above) plus Sipser might be a good fit for you. The Sipser text is a well-written intro to computational complexity theory, so it's directly relevant to what you're interested in, and it starts with an introduction to proofs ("Chapter 0") that includes proof by induction. Stroud should get you up through matrix algebra.
posted by en forme de poire at 12:39 PM on July 22, 2012

Response by poster: @un petit cadeau I had a look at that book. Also, a friend recommended it to me. However, I think it is a little advanced, and, as you say, doesn't cover all the stuff I need. Thanks anyway, though.

@semaphore That Schaum guide looks great. I think precalculus is one of the main things I need to re-learn.

@semaphore @joshuaconner I am working my way through Introduction to Algorithms. The programming is easy, but I am finding the maths hard.

@semaphore and @hoyland Rosen has been recommended to me by others, too. I am a little scared of really large books, because I don't want to get lost for six months in a huge tome. I will have a look.

@fshgirl I will have a look at those idiots guides.

@Obscure Reference I have considered Khan Academy. However, there are an awful lot of videos that cover the subjects I'm interested, and I think I'd rather a book I can read and work through away from the computer.

@joshuaconner thanks a lot for the offer of help. I will email if I get stuck on specific stuff.

@rhombus @en forme de poire that is a hell of a tome! I will have a look, though.

@en forme de poire Sipser looks like exactly what I need, but at a level above what I am currently capable of. I will have a look, anyway.

Thanks so much for all the helpful answers, guys.
posted by maryrosecook at 6:17 PM on July 22, 2012

« Older How do I manage my emotions?   |   A longtime dream has come true and I now own a... Newer »
This thread is closed to new comments.