Polya’s book How to Solve it presents a systematic way of solving problems. It has helped me over the years whenever I faced situations that were hard to reason about. I have learned to write down the knowns, the unknowns, and the conditions linking them. From there, I also transform the problem differently, manipulating its elements to draw connections to past problems. This way of thinking has proven valuable far beyond math, and has often guided me through real-world engineering work.
After many years in industry, now I feel the urge to get back to CS fundamentals. What I want to sharpen first is my reasoning skills. A starting point is to work through algorithmic reasoning again which naturally covers induction, discrete math, probability, etc.