Ask HN: What are the best books with problem sets that test your understanding?

13 jimsojim 7 4/14/2025, 6:07:32 AM
What books with end-of-chapter problems have you found most valuable for truly mastering a subject? Can be any field – computer science, math, physics, economics, etc.

Some of my best learning experiences have come from textbooks that forced me to apply concepts - attack problems directly and refer to the prose on need basis to fill the gaps.

My favourites are - 1. Problems in General Physics by I. E. Irodov 2. Concepts of Physics by H.C Verma Part I & II 3. How to Solve It by George Pólya

Comments (7)

a_tartaruga · 15d ago
Some especially good ones

Sipser -- Theory of computation

Pinter -- Abstract algebra

Kleppner and Kolenkow -- Mechanics

Klein -- Organic Chemistry as a Second Language

jjice · 12d ago
+1 to Sipser. Excellent book. I'm not sure there's any real competition for CS Theory out there.
chyueli · 14d ago
There are several principles for reference: 1. Exercise quality: Exercises must cover core concepts, have a reasonable difficulty level, and preferably come with answers or explanations. 2. Practice orientation: Deepen theoretical understanding and cultivate application capabilities by solving problems. 3. Classics and reputation: Give priority to books that have been recognized by the academic community or learners for a long time.
imvetri · 15d ago
Solve real life problems from work. It's easy to solve problems, so practice being a problem spotter.
ferguess_k · 14d ago
100% this. Problems from work are always realistic and they give you a push to solve them well. Side projects work too, but to a lesser extent.

I could never get through an Algorithm class (self-taught), but that didn't prevent me from learning and implementing some non-trivial algos for my side projects.

abhijat · 16d ago
It has been a while since I worked through it, but Haskell programming from first principles had some pretty good exercises IIRC.
brudgers · 16d ago
You could do worse than The Art of Computer Programming.