TIME/PLACE: TTh 11:00-12:30, BUR 134

Unique Number: 53033

INSTRUCTOR: Anna Gál email: panni "at" cs
Office hours: TTh 2 - 3 pm or by appointment.

Teaching Assistant: Eshan Chattopadhyay email: eshanc "at" cs
TA Office hours: MW 12 -1, Painter Hall 5.33, Desk 1

This course provides a general, undergraduate level introduction to the theory of computation.

TEXTBOOK: We will use the book "Introduction to the theory of computation" by Michael Sipser.

Theory of computation includes topics related to understanding what can and cannot be computed, how quickly, with how much memory, and on what type of computational models. Topics covered in the course include Turing machines and computability, undecidability and reducibility among languages. We will also cover topics of computational complexity: understanding the time and space complexity of natural computational tasks. We will cover the most important complexity classes, like P and NP, NP completeness, and the famous P vs. NP problem. There will be several other famous open problems mentioned during the course. This course is excellent preparation for students interested in continuing to graduate school.

SYLLABUS: A detailed syllabus is available here.