Computer science theory assesses which problems are possible and feasible to solve through theories of computability, undecidability, complexity, reducibility, and approximability.