EECS 2001 N: Introduction to the Theory of Computation
Winter 2025

General Information

Instructor: Suprakash Datta
Office: LAS, room 3043
Lectures: Mon, Wed: 1-2:30 pm in LSB 106
Tutorial: Thu 10-11:30 am in SLH F
Office Hours (tentative): Mon, Wed 5:00-6:00 pm LAS 3043, or by appointment
Email: [lastname]@yorku.ca
TA: TBA

News

Lectures

Resources

Textbook

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

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.

Assessment Components

The lower scoring midterm test is worth 15% for each student so the 2 tests are together worth 35%.

Assignments 10%
Tutorials 15%
Test 1 20%
Test 2 20%
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