EECS 2001 N: Introduction to Theory of Computation
Winter 2020

General Information

Instructor: Suprakash Datta
Office: CSEB, room 3043
Telephone: (416) 736-2100 ext. 77875
Lectures: Mon-Wed, 2:30-4 pm in LAS B
Tutorial: Fri 2:30-4 pm in LAS B
Office Hours (tentative): Mon, Wed 4-5 pm, or by appointment
Email: [lastname]@eecs.yorku.ca
TA: Yunge Hao, Irfa Nisar

News

Assignments

Tutorials

Lectures

Resources

Textbook

Anil Maheshwari and Michiel Smid, Introduction to Theory of Computation, can be downloaded for free here.

Other References

Academic Honesty

It is important that you look at the departmental guidelines on academic honesty. Although you may discuss the general approach to solving a problem with other people, you should not discuss the solution in detail. You must not take any written notes away from such a discussion. Also, you must list on the cover page of your solutions any people with whom you have discussed the problems. The solutions you hand in should be your own work. While writing them, you may look at the course textbook and your own lecture notes but no other outside sources.

Marking Scheme

4 assignments 15%
Test 1 15%
Test 2 20%
Exam 50%

Course Learning Outcomes

Upon successful completion of the course a student will be able to:
  1. Design machines (i.e., finite automata, Turing machines) to solve specified decision problems.
  2. Design regular expressions and context-free grammars for a given language.
  3. Explain why an object designed in bullets (1) or (2) correctly meets its specification.
  4. Prove simple properties about models of computation (e.g., that the class of regular languages is closed under complement).
  5. Demonstrate limits of computing by proving that a problem is not solvable within a particular model of computation.
  6. Show how one problem can be reduced to another.

Important dates