In this introductory course on theory of computation, students will be asked to find solutions to several computational questions - ranging from how computation is defined to how problems can be efficiently solved through these models. Some of these questions can be answered completely and some questions lead to major open problems in computer science and mathematics today. By the end of this course, students will be able to classify computational problems in terms of their computational complexity. Students will also gain a deeper appreciation for some of the fundamental issues in computing that are independent of technology trends.
The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate education section.