CS 321 Theory of Computation (Undergraduate)

School of Electrical Engineering and Computer Science
Oregon State University
Corvallis, OR 97331

Instructor: Liang Huang (KEC 2069)
Class Time: MWF 12-12:50pm, Location: Cordley 1109

TAs: Kai Zhao, Mingbo Ma, and Dezhong Deng (KEC 4130).

Office Hours:
TAs: M 5-6pm, T 5-6pm, W 4-5pm and F 3-3:30pm.
Liang: T 3:30-4pm, Th 11-11:20am, and F 2:30-3pm.
Recitations: Th 8-9pm in KEC 1001.

[registrar entry]

We use Canvas for discussions and grades. For technical questions (e.g., HW), first check if the same question has been asked on Canvas; if not, ask it there (we monitor the discussions). You will be rewarded for answering questions on Canvas. For non-technical questions (e.g., grading), email cs321-fall15-orst@googlegroups.com which will reach the three of us.



Main textbook: Recommended textbooks: If you have a copy of Linz, you don't need to buy Sipser.

Learning Objectives of the Course:

  1. Design deterministic and non-deterministic finite state automata, and regular expressions; prove their correctness, and convert from one to the other.
  2. Design grammars for context-free languages, push down automata, convert one to the other.
  3. Describe the properties of regular and context-free languages and use them to decide if a language is regular or context-free.
  4. Design Turing Machines for problems. Show the equivalence between different versions of Turing Machines.
  5. Prove decidability and undecidability of languages.

Course contents:


Important Note: Please note that all homework should be your own work. Any collaboration that requires written communication is forbidden. You should also not copy answers from books or internet resources.

To do well in this course:

  1. Don't miss the class.
  2. Read the text book regularly.
  3. Do the homework completely and on time.
  4. Study the solutions for problems answered in the book.
  5. Get help from me when needed.


You are encouraged to study together and discuss general strategies for solving problems but not at the level of written solutions. Please read the department's academic dishonesty policy for more details. You should not use any web sources for answering the homework questions unless explicitly instructed to do so.

Liang Huang