EECS 2001 A: Introduction to Theory of Computation
Summer 2020

General Information

Instructor: Suprakash Datta
Office: LAS, room 3043 (inaccessible until the university opens)
Telephone: (416) 736-2100 ext. 77875 (inaccessible until the university opens)
Lectures: Tue, Thu: 4-5:30 pm online (link on moodle page)
Tutorial: Fri 4-5:30 pm online
Office Hours (tentative): Tue, Thu 5:30-6:30 pm online, or by appointment
Email: [lastname]@eecs.yorku.ca
TA: TBA

News

Lectures

Resources

Textbook

Michael Sipser. Introduction to the Theory of Computation, Third Edition. Cengage Learning, 2013.

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

Assignments 10%
Test 1 25%
Test 2 25%
Exam 40%

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