This document discusses strategies and tactics for becoming a better problem solver from a computer science perspective. It begins by defining problem solving and outlining common steps. It then presents strategies for getting started, such as getting hands-on, restating the problem, and using wishful thinking to simplify issues. Tactics for making progress are also outlined, including considering extremes, exploiting symmetries, and trading space for time. Examples are provided to illustrate the approaches. The overall message is that varying attempts, recording progress, and finding easier related problems to solve can help overcome challenges.
Related topics: