课程简介 Course Introduction
This course provides an introduction to the theory of computation, including formal languages, grammars, automata theory, computability, and complexity. You will learn to reason formally about computation. The theory of computation examines the questions "What is a computer?" and "What can it do?".

• How to reason precisely about computation and prove mathematical theorems about its capabilities and limitations.
• Models of computation. Specifically, we will study finite automata, push-down automata and Turing machines.
• The intrinsic limits of computation. Computational problems that cannot be solved by any algorithm whatsoever (undecidability), and problems that are solvable but require inordinate computational resources (computational complexity).
• Formal language theory. The basics of grammars and parsing.

Also, you should demonstrate an understanding of and be able to apply mathematical and formal techniques for solving practical problems in computer science.

Textbook: Michael Sipser, Introduction to the Theory of Computation (Third Edition), Cengage Learning, 2013. (The 2nd edition can also be used)

Welcome to the course "Introduction to the Theory of Computation". I hope that you find it to be an interesting and enjoyable thing.



教学大纲 Teaching Syllabus

1. Introduction and Overview

2. Finite Automata

3. NFAs vs. DFAs

4. Regular Expressions

5. The Pumping Lemma and Nonregular languages

6. Context Free Grammars

7. Pushdown Automata

8. CFGs vs. PDAs, Non-CF Languages

9. Turing Machines and the Church-Turing Thesis

10. Recognizability & Decidability

11. Reducibility

12. Time Complexity

13. Space Complexity

14. Intractability

15. Conclusions


留言板 Message Board
条留言  共

  • 参与互动
    Interaction

  • 扫码加入课程
    Scan QR Code
需要验证您的身份,请输入请求信息:
  • 学号号:
  • 班级选择:
  • 附注信息:

扫一扫二维码,快速加入本课程!

放大二维码 查看使用方法
课程
引导