## 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.

**Schedule/Slides/HWs**

### Textbooks:

Main textbook:
Recommended textbooks:
- Linz: An Introduction to Formal Languages and Automata, 5th edi., 2012 (4th edition is OK).
- Hopcroft, Motwani, and Ullman: Introduction to Automata Theory, Languages and Computation, 3rd edi., 2006.
- Lewis and Papadimitriou: Elements of the Theory of Computation, 2nd edi., 1999
- Kozen: Automata and Computability, 1997

If you have a copy of Linz, you don't need to buy Sipser.

### Learning Objectives of the Course:

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

### Course contents:

- Introduction (chapter 0)
- Regular languages (chapter 1)
- Context-free languages (chapter 2)
- The Church-Turing Thesis (chapter 3)
- Decidability (chapter 4)

### Assessment

- Weekly Quizzes (5%x8=40%)
- Weekly Homework (10%) -- graded for completeness but not correctness; no late submission is accepted.
- Midterm (20%)
- (Optional) take-home midterm (5%)
- Final Exam (22%)
- Class Participation (3%) -- both in class and on canvas; helping your peers will be rewarded.

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:

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

### Collaborations:

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*