top | item 8698104

(no title)

azmenthe | 11 years ago

I wanted to give some recommendations before I hijacked your thread with my own question but I was going to suggest What is Mathematics, How to Prove it and Naive Set Theory which have already have been mentioned.

I'm actually in a related situation in which I'm competent in analysis (bachelors in physics) but I struggle with all the category theory inspired design patterns in functional programming.

Every book/article I've tried to read is either far too mathematical and so is disconnected from programming or is too close to programming and lacking in general foundations (ie: a monad is a burrito).

I would greatly appreciate any suggestions!

discuss

order

Todd|11 years ago

I came here to suggest the same thing. I started with real analysis but realized that I was lacking the mathematical maturity to understand things back to first principles. My suggestion is to start with learning how the foundations of mathematics were rebuilt starting from axiomatic principles in the last part of the 19th century and early 20th century.

The book How to Prove It helped me tremendously. Get a good book on abstract algebra. Maybe start with Herstein, then progress to Dummit and Foote and, maybe eventually, to Hungerford. This is the kind of math that will help you reason about data sets. It's foundational in mathematics and it also happens to be very applicable to computer science.

After that, you will have a strong basis for branching out to more specialized branches of mathematics that may have more relevance to the types of problems that you're solving.

nicklaf|11 years ago

That is excellent advice. If the student is struggling to write proofs in her or his real analysis text, s/eh should definitely seek out "How to Prove It".

creatio|11 years ago

How To Prove It is definitely the best (it's the only I read till now though, apart from online tutorials and course notes) book on how to learn on your own. Especially since it details the thought process on how to prove something, has around 20 questions per subsection with answers (especially this is great)!

Another book that I think is great is 'Getallen: van natuurlijk naar imaginair', but its in Dutch.

sumgy|11 years ago

What language specifically are you looking at monads in? If it's anything other than haskell, I can give advice, having recently had the concept click, and gone through similar frustrations.

azmenthe|11 years ago

That would be awesome, I'm using Scala and I would like to incorporate more scalaz into my programming but I have yet to find information convincing me how to go from math concept to implemented functional design pattern.