Introduction to the Theory of Computation
Course Outline
 Automata and Languages
Mathematical models of computation
 Computability Theory
Problems CAN and CANNOT be solved by computers
 Complexity Theory
Why some problems are hard but some are easy?
Why taking this course?
From authors of the textbook
 Theoretical CS has some fancy/big ideas
 Relevant to practice (e.g., modern cryptography)
 Abstract way of thinking the computers. Help you
to design more beautiful ones

Chapter 0 (
part 1:
slides
video
)

Chapter 1

Chapter 2

Chapter 3

Chapter 4

Chapter 7
Homework
Once every two weeks. Please write your homework/reports in English and do NOT submit lately. See
FAQ about how to submit your
homework.
Exams
Weights of three exams will be decided at the end of
the semester.
 Midterm 1: November 1 (week 6)
 Midterm 2: December 6 (week 11)
 Final: Final: January 10 (week 16) Discussion: 12pm, January ??, room 102
(Sample exam questions: 1,
2,
3)
For midterms, discussions will be in the following week.
Grading
30% homework, 70% Exam. (tentative)
Some (usually 10%) may fail if they don't work hard.
Last modified: