Computer Science is the study of computers and programs, and the collections of instructions that direct the activity of computers. Computers are made of simple elements but they often perform complex tasks. The great disparity between the simplicity of computers and the complexity of computational tasks offers intellectual challenges. Theoretical computer science develops methods and models of analysis to meet those challenges. This course provides an introduction to general computational models (logic circuits, upper bound on the size and depth of the circuits for important problems); automata (finite-state, random-access, and Turing machines); formal languages; and computational complexity (time- and space-bounded complexity classes, and space-time tradeoffs). Prerequisite: C or better in COMP 2130 and COMP 2230 or COMP 2231
Computer Science is the study of computers and programs, and the collections of instructions that direct the activity of computers. Computers are made of simple elements but they often perform complex tasks. The great disparity between the simplicity of computers and the complexity of computational tasks offers intellectual challenges. Theoretical computer science develops methods and models of analysis to meet those challenges. This course provides an introduction to general computational models (logic circuits, upper bound on the size and depth of the circuits for important problems); automata (finite-state, random-access, and Turing machines); formal languages; and computational complexity (time- and space-bounded complexity classes, and space-time tradeoffs). Prerequisite: C or better in COMP 2130 and COMP 2230 or COMP 2231