Remix.run Logo
godelski 2 days ago

I'd also STRONGLY recommend Polya's "How To Solve It"[0]

It really is about teaching you how to solve arbitrary problems. It teaches how to think. You can read pages xvi and xvii (in [0]) which will give you a good sense at what the book teaches. Half the first chapter is available too (this is an easy book to find online).

It's also technically a math book, but treating it as a standard math book is missing the point (honestly, missing the point of math altogether). It is really about how to solve problems, which that's what math is about. Math is really a collection of logics (plurality intended) that can be used to solve problems. Thing is, this is usually done in the abstract as mathematicians are usually interested in solving the general form of a problem. (The other part being that math is a high precision language, which is another thing it shares with programming languages). People might be scared off by the math notation in it, but I'd wager that anyone who can write anything more complicated than a hello world program is smart enough to make it through this book[1].

You do not need to be a mathematician to benefit from it, nor need to know much math at all. I'll make the strong claim that every single programmer, and anyone doing anything related to STE(A)M will benefit. If the "A" is surprising, I think you'll understand after reading a bit.

[0] https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...

[1] Variables in math are no different than in programming. The main difference is math is terse because it's typically hand written. I'd add that programming also has types but most people are writing with languages that do duck typing.