CS321: Introduction to Theory of Computation
Computer Science Department
Oregon State University
Corvallis, OR 97331
Instructor: Prasad Tadepalli
Instr. Office Hrs: M 3:00-4:00 PM, W 3:00-4:00 PM, H 3:00-4:00 PM
Location: 3057 Kelley Engineering Center (KEC)
Class Time: MWF 2:00-2:50 PM, Location: KEC 1001
E-mail: tadepall at eecs
TA: Atil Iscen
Office hours: Tuesday 10-12, Friday 11-12
Location: KEC Atrium
E-mail: iscen at eecs
Announcements
- The second midterm will be on November 23 based on the
material from sections 4.1,4.2,4.3,5.1,5.2,7.1,7.2.,and 8.2.
- Solutions to the practice problems are posted below.
I added another solution to 4(c) based on the method given
in the class.
- Also practice turning a PDA into a CFG.
Look at the last homework solution below. Good luck!
Text:
Your grades are posted here by an anonymous number.
Goals of the Course:
- Make you familiar with the fundamental theoretical models of computer science.
- Develop your skills to apply theoretical tools in problem solving.
Learning Objectives of the Course:
- Convert between finite automata, regular grammars, and regular expression representations of regular languages
- Apply the pumping lemma for regular languages to determine if a language is regular
- Convert between grammars and push-down automata for context-free languages
- Determine if a language is regular or context-free
- Demonstrate that a grammar is ambiguous
- Translate a context-free grammar from one form to another
- Produce simple programs for a Turing Machine
- Explain the concept of undecidability
- List examples of undecidable problems
Course contents:
- Motivation, formal preliminaries
- Deterministic and non-deterministic finite state automata
- Regular expressions, regular languages, regular grammars
- Properties of regular sets, pumping lemma
- Context-free grammars and languages
- Normal forms of context free grammars
- Pushdown automata
- Properties of context-free languages
- Turing machines
- Generalizations of Turing machines, undecidability
Grade:
Your grade will be based on weekly homeworks, in-class quizzes, 2 midterms,
and the final.
- Weekly homeworks (20%)
- Homework #1: Due 10/9/09
Solution
- Homework #2: Due 10/16/09
Hint on Problem 4
Solution
- Homework #3: Due 10/23/09
Solution
- Homework #4: Due 11/06/09
Solution
- Homework #5: Due 11/13/09
Solution
- Homework #6: Due 11/20/09
Solution
- Homework #7: Due 12/04/09
- Weekly quizzes (10%)
- Quiz #1: October 5, 2009. Read Chapter 1.1.
- Quiz #2: October 12, 2009. Read Chapter 1.2 and 2.1.
- Quiz #3: October 19, 2009. Read Chapters 2.2, 2.3 and 3.1.
- Quiz #4: November 4, 2009. Read Chapter 4.
- Quiz #5: November 11, 2009. Read Chapter 5.
- First midterm: Oct 26, Monday, 2 PM, KEC 1001 (20%)
Practice problems
Solutions to practice problems
Solutions to the midterm
- Second midterm: Nov 23, Monday, 2 PM, KEC 1001 (20%)
Practice problems
Solutions to Practice problems
- Final exam: Dec 8, Tuesday, noon, KEC 1001 (30%)
Students with disabilities:
Students with documented disabilities who may need accommodations, who
have any emergency medical information the instructor should know, or
who need special arrangements in the event of evacuation, should make
an appointment with the instructor as early as possible, no later than
the first week of the term. In order to arrange alternative testing
the student should make the request at least one week in advance of
the test. Students seeking accommodations should be registered with
the Office of Services for Students with Disabilities.
Collaborations:
The answers to the homeworks, midterms, and exam must be based
on your own work. You are encouraged to discuss the ideas underlying
concepts with each other, but not at the level that requires
written communication about the homework problems. Please get help
from the TA and myself on the homework questions. The
department policy in cases of cheating is very serious and could
result in an F for the course. I am also required to report such
incidents to the dean of college of engineering, who might take further
action.