Two men play chess on a porch

Computer science theory assesses which problems are possible and feasible to solve through theories of computability, undecidability, complexity, reducibility, and approximability.  Research in algorithms involves the best ways to formulate computational tasks as well as solve them in various serial, parallel, streaming, and distributed environments.