0.1 Automata, Computability, Complexity What is Complexity Theory? some problems are easy some problems are hard What kind of problem is sorting a list of a million numbers? (easy or hard) What kind of problem is scheduling classes for a university? (easy or hard) What is Computability Theory? some problems can be solved by computer some problems cannot be solved by computer Given an arbitrary program, can you determine if the program will loop forever? What is Automata Theory? mathematical models of computation What are some common mathematical models of computers? finite state automaton push-down automaton Turing machine Why do you need mathematical models of computers? precise definition allows for proof prove results in complexity and computability applications in text processing, programming languages, hardware