This is an old revision of the document!
Table of Contents
Theory of Computing, Spring 2022
This is an introductory course to the theory of computing, a study of formal/mathematical foundations of computer science and technology. Its goal is to acquaint the students with the basic concepts in computation theory and to cultivate the students' ability in analyzing the complexity of computational problems.
Announcements
- 04/18: notes/slides for Turing Machines available.
- 04/09: old exams: 2000-2021. (Note: I didn't offer the course some of the years.)
- 04/08: Problem 4 of HW#5 revised.
- 03/22: HW#6 due on 04/19.
- 03/22: HW#5 due on 04/12 (as 04/05 is a holiday).
- 03/15: HW#4 due 1:20PM 03/29.
- 03/15: notes/slides for Context-Free Languages and Pushdown Automata available.
- 03/08: HW#3 due on 03/22.
- 03/02: HW#2 due 1:20PM 03/15.
- 02/21: notes/slides for Finite Automata and Regular Languages available.
- 02/21: HW#1 due on 03/01.
- 02/15: notes/slides for Introduction and Mathematical Preliminaries available.
- 02/07: this website created to complement the NTU COOL site for this course.
Instructor
Yih-Kuen Tsay (蔡益坤), NTU IM Dept.,
3366-1189, Xtsay@ntu.edu.twX
(between the enclosing pair of X's).
Lectures
Tuesday 2:20~5:20PM, Room 303, Management Building 2.
TA sessions will be
scheduled prior to some of the class meetings between 1:20 and 2:10PM; see the course schedule.
Office Hours
Tuesday 1:30~2:00PM, Wednesday 1:30~2:00PM, or by appointment, Room 1108, Management Building 2.
TA
Wei-Cheng Liu (劉韋成), Xr09725026@ntu.edu.twX
(between the enclosing pair of X's).
Jack Su (蘇俊杰), Xr09725002@ntu.edu.twX
(between the enclosing pair of X's).
Textbook
- Introduction to the Theory of Computation, 3rd Edition, Michael Sipser, Cengage Learning, 2012. (歐亞圖書代理)
Syllabus/Schedule (with links to notes/slides)
This introductory course to the theory of computing covers various mathematical models, including automata and Turing machines, for
physical computing machineries along with their computational
capabilities/limitations. In terms of specific topics and the order of their
exposition, the course will follow closely the book by Sipser.
(Note: a TA
session will precede a class meeting whose date is marked with an *. There
are four TA sessions on 03/15, 03/29, 05/10, and 05/31.)
- Finite Automata and Regular Languages (2.5 weeks: 03/01, 03/08, 03/15a*) [notes, slides, appendix:minimization]
- Midterm (2022/04/12)
- Final (2022/06/07)
- Wrap-Up Discussions (.5 week: 06/14b)
Grading
Homework 20%, Participation 10%, Midterm 35%, Final 35%.
References
- MIT OpenCourseWare: Automata, Computability, and Complexity
- Introduction to Automata Theory, Languages, and Computation, John E. Hopcroft and Jeffrey D. Ullman, Addison-Wesley, 1979.
- Introduction to Automata Theory, Languages, and Computation, 3rd Edition, John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Addison-Wesley, 2006.
- Elements of the Theory of Computation, 2nd Edition, Harry R. Lewis and Christos H. Papadimitriou, Prentice-Hall, 1998.
- Mathematics and Computation: A Theory Revolutionizing Technology and Science, Avi Wigderson, 2019. (The book has formally been published by Princeton University Press.)
- Maillardet's Automaton at the Franklin Institute.
- What Is an Algorithm? (M.Y. Vardi, Communications of the ACM, Volume 55 Issue 3, March 2012)
- What Is Computation? (a lecture by Leslie Lamport, who received the 2013 Turing Award)
- Free Tool: GOAL
- Free Tool: JFLAP