It's math-centric, but How to Solve It (Polya) is a good book on how to think critically and approach problems methodically.
FROM THE HN SHELF
How to Solve It
George Pólya
Mathematics · A BOOKTypographic jacket · original cover not fetched
FROM THE SHARED SHELF · 2006–2026 SAMPLE
How to Solve It
23 readers recommend it across 17 discussions
Topics are model-inferred labels.
Keep it on your reading list
THE WORD OF MOUTH
What made it worth passing on?
Original Hacker News comments, in the readers’ own words.
Ah, a literalist. I see your literality, and raise: enabled a pivotal moment in my life Like that time you beat Archimedes to the punch and moved the world with a cantilever? To not just 'standup philosopher'-post: Gödel, Escher, Bach (already mentioned by another I see); Euclid's Elements; Polya's How To Solve It; The Rise and Fall of the Third Reich; Old Possum's Book of Practical Cats - clearly non-fiction, if you know cats. :)
Also recommended in this reply
Not all of the ones below may be textbooks, sorry, but IMO they are all very good. I cut my programming teeth on some of them, and read others at different times later in my career. How to Solve It, by Georg Polya. A famous Hungarian mathematician. A text on general problem solving principles or techniques. A classic. How to Solve It by Computer, by Dromey, an AU CS professor. In the same spirit as the Polya book, but applied to iteratively working out algorithms and pseudocode for common important programming problems. The K&R C book. What to say. The Unix Programming Environment, by Kernighan and Pike. Ditto. Programming Pearls, and More Programming Pearls, by Jon Bentley. Among many other things, some clever / advanced uses of awk. Writing Efficient Programs, also by Bentley. I had mentioned it on HN earlier, and someone replied saying they had used it in real life, and it was gold. SQL for Professionals, by authors whose names I forget. The Object Primer, by can't remember who, but good. A Unix book by Kochan, IIRC. Object-Oriented Software Construction, by Bertrand Meyer, creator of the Eiffel programming language.…
Also recommended in this reply
A lot of comments about textbooks that helped in specific topics but I don't think that answers the spirit of OP's question. Sure working through ANY Linear Algebra textbook is going to improve your Linear Algebra skills. In the spirit of OP's question: How to Solve it by G. Polya Solving Mathematical Problems by Terrence Tao Introduction to Mathematical Thinking by Keith Devlin Are all amazing, How to Solve it in particular is an all time classic.
Also recommended in this reply
Some favorites below. Books 0-3 are accessible. The remaining books are more difficult but I'd highly recommend them to math students. 0. Jan Gullberg, Mathematics, From the Birth of Numbers. A highly accessible popular survey on different branches of higher mathematics. I read this over the Summer between high school and starting my undergraduate degree. It's what made me want to study math. Previously I'd wanted to be a guitar player, but had to find a new ambition after an injury left me unable to play. 1. The high school mathematics series by Israel Gelfand. Algebra, Trigonometry, The Method of Coordinates, and Functions and Graphs. I didn't have much mathematics background in high school, but working through these really solidified my grasp on the basics. 2. George Polya. How to Solve it. A short book giving excellent high level advice on mathematical problem solving.…
Also recommended in this reply
Haven't seen this mentioned yet, so How to Solve It (1945) by George Pólya? I haven't read it myself so I can't comment (I'm a muddy thinker and rubbish problem solver), but I think it was mentioned in a good light in one of Hofstadter's "Metamagical Themas" pieces.
A classic in the Math field is How to Solve It by Georg Polya https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie... (https://www.amazon.com/How-Solve-Mathematical-Princeton-Science/dp/069111966X) And for improving statistical thinking, the classic How to Lie With Statistics by Darrell Huff https://www.amazon.com/How-Lie-Statistics-Darrell-Huff-ebook... (https://www.amazon.com/How-Lie-Statistics-Darrell-Huff-ebook/dp/B00351DSX2/)
Also recommended in this reply
The book that opened my eyes to what Math really was is a biography on Paul Erdös, The man who loved only numbers. Another really invaluable resource for me was How to solve it by Polya.
Also recommended in this reply
George Polya's "How to solve it" taught me how to think better, in engineering, mathematics & problem solving. After going through the whole thing, and solving a few of the exercises, I feel like I get stuck less compared to before.
I still have these on my shelf looking dog-eared and well read You can probably tell from these exactly which year I took CSEE :) - Biggs: Discrete Maths - Stroud: Engineering Mathematics - Solkolnikoff: Mathematics of Physics and Modern Engineering - Sommerville: Software Engineering - Aho: Compilers - Kernighan and Ritchie: The C Programming Language - Kernighan and Pike: The UNIX Programming Environment - Ben Ari: Principles of Concurrent Programming - Clements: Microprocessor Systems Design - Tannenbaum: Distributed Operating Systems - Dean, Allen, Aloimonos: Articficial Intelligence - Knuth: The Art of Computer Programming - Yourdon: Object Oriented Systems Design - Abelson and Sussman: Structure and Interpretation Maybe the one that ones that changed me most: - Polya: How to Solve it - Hofstadter: Godel Escher Bach
Also recommended in this reply
Spivak is an excellent choice but may be too advanced depending on his level. I would also strongly recommend any of the books in the Art of Problem Solving series: https://artofproblemsolving.com/store/list/aops-curriculum I've got a PhD in bioengineering but I'm currently going through Introduction to Counting and Probability and I'm really enjoying it. Some others (not AOPS series): Nelsen - Proofs Without Words Polya - How to Solve it Strogatz - Nonlinear Dynamics and Chaos
Also recommended in this reply
More general purpose problem solving but written by a mathematician and one of the best books I've ever read! https://en.wikipedia.org/wiki/How_to_Solve_It
One book that is often recommended is Pólya's "How to solve it" [1], although it's more directed at solving mathematical problems than general mental models. [1] https://en.wikipedia.org/wiki/How_to_Solve_It
"How to Solve it" was great for me from an abstract problem solving point of view. It helped me get better at seeing which abstractions help solve an otherwise difficult problem, which is a useful skill to have for coding interviews and, really, most technically difficult problems encountered during the work day.
There is a class at Georgia Tech I colloquially referred to as "making sure your coworkers don't hate you." It covered design patterns, software testing, and project management. I'd tack on a basic knowledge of databases to that. These are things you can gain a true functional knowledge of in a couple of weeks, and which not knowing might make senior engineers hate working with you. So to mimic the class: The Mythical Man Month Design Patterns - Even if some of the particulars are not as relevant, it still provides a useful framework for thought. Lessons Learned in Software Testing: A Context-Driven Approach I'd also add Harry Potter & The Methods of Rationality. A lot of engineers can think empirically, but its not their first reaction. Going through this book helped make it second nature for me. Can't remember if a certain data structure is immutable? Now I'll write a couple of lines of code to see rather than go looking for documentation. A lot of big problems start as false assumptions. Having the instinct to think to test them and knowing how to will prevent a lot of wasted effort, regardless of your role.…
Also recommended in this reply
"How to solve it" because it encourages you to not just mechanically follow steps, but think critically and solve a problem.
When I studied cello performance in college, my professor would joke that the 40 David Popper etudes were my new bible. However, I think a copy of Bach's six cello suites is a better match. In my work in math education, there are many possibilities, but I think Polya's "How to Solve It" is a strong contender.
Also recommended in this reply
How to Solve It, by Polya.
This year I either read, or started to read the following interesting books: Mathematics: Form and Function by Saunders Mac Lane. This is one of my favorite books concerning the "build-up" of mathematics (it also contains nice diagrams of "relatedness" of subjects). On HN somebody once recommended Mathematics: Its contents, methods, and meaning (from Russian mathematicians in the 50s) which is similar but without the cross references. Proofs and Refutations by Imre Lakatos. I have started reading this only recently and have to say that I find the approach and idea excellent. It would be great if we had something comparable for CS theory as well. Notes on Introductory Combinatorics by Polya, Tarjan, and Woods. Have not read this exhaustively, but the introduction with Pascal's triangle and some of Polya' legendary problem solving insights (paraphrased from my memory: "you are on to something once you find a pattern") are definitely highlights in this book.…
Also recommended in this reply
The World of Mathematics edited by James Newman (a four-volume anthology) may give you a feel for and an interest in exploring math further. It's a great collection ranging from mathematical curiousities and puzzles to memoirs of mathematicians to a very moving short story by Aldous Huxley. Also, One, Two, Three, Infinity by George Gamow (a great physicist) is a great intro. Second the How To Solve It recommendations.
Also recommended in this reply
How To Solve It is a great recommendation. I had a physics professor that did an amazing job of teaching problem solving; even though the class wasn't directly to my major, it was probably the single most useful class I ever took. Next semester I read How To Solve It and realized that the way he taught followed closely to what Polya lays out.
How to Solve It seems to be aimed at math teachers, but it is useful for almost anyone wanting to learn more math since it gives ideas about how to think about maths.
"An Introduction to Mathematical Reasoning" by Peter J Eccels. Teaches the vocabulary of mathematics, just the basics you need to think like a mathematician, not a mathematics user like most science texts. "How To Solve It" George Polya. Heurists and problem solving skills, by a great mathematician. Do a google search, specially in the sci.math newsgroup. Again, read books by mathematicians for mathematicians; they're often far more enjoyable and actually far more straightforward (I was often confused by the examples in my school work; I didn't care for "vehicle moving at speed X" or "object falling at from height Y". We all have a different internal visual mind and I tended to think in abstract patterns, usually colors, lines or nested bodies, without real physical objects distracting me.)
Also recommended in this reply