Instructor: Sam Buss
Email:
sbuss@herbrand.ucsd.edu
Office: APM 6210
Phone: 534-6455
Office hours: Monday 9:00-9:50 and Wednesday 9:00-9:50 and 1:30-2:30.
(valid thru March 10).
Teaching Assistant: Tom Langley,
tlangley@math.ucsd.edu
Office: APM 2202
Office hours: Wednesday 12:15-1:15, and Thursday 2:00-4:00. (thru March 11)
The textbook is Introduction to the Theory of Computation by M. Sipser.
This course will cover Automata and Regular and Context-free languages (Part I of the textbook), plus selected topics from Abstract Computability (Part II, Turing machines, etc.) and from Feasible Computability (Part III). These are basic topics in the foundations of the theory of computation, plus form the mathematical foundations for compiler design theory and for analysis of algorithmic efficiency.
The course will have a midterm exam on February 12 and a final exam. There will be quizes in the Thursday section meeting on most weeks. Popquizes have been given in class, but not many more (if any) are planned. Homework assignments will typically be due in class on Friday. Course grading will be 50% final, 30% midterm, 10% homework, 10% quizes, 0% popquizes. You may drop your lowest two quiz scores. The percentages may change slightly, if so I will announce the change.
Homework #2, due Friday, January 22.
Pages 83-90: Problems 1.4e,f,g,i,k,l,m,n, 1.5a-d.
And: Prove that the language over the alphabet {0,1,...,9}
containing the integers (in base 10 representation) which are multiples of 7 is
a regular language.
Homework #3, due Friday, January 29.
Pages 83-88: Exercises: 1.5f,g, 1.6a, 1.7a, 1.8a, 1.9, 1.12
Pages 88-90: Problems: 1.24, 1.44* (* = challenge problem).
Hint for 1.24: given an finite automaton M,
construct an NFA recognizing the reversal
of L(M).
Homework #4, due Friday, February 5.
Pages 83-88: Exercises: 1.10b, 1.14a, 1.15, 1.16, 1.17.
Pages 88-90: Problems: 1.23, 1.32a.
Revised due date: 1.17 and 1.23 are due on Monday, February 8.
Homework #5, due Friday, February 19.
Pages 119-121: Exercises: 2.1, 2.3, 2.4, 2.6a,b, 2.9.
Pages 121-122: Problems: *2.21.
Homework #6, due Friday, February 26.
Pages 119-121: Exercises: 2.5, 2.10, 2.11.
Pages 121-122: Problems: 2.15, 2.17a.
Hint: For 2.17a, use the equivalence of CFG's and PDA's (so you may
work with PDA's). This will make problem 2.17a conceptually quite
simple. Problem 2.15 may be done with either CFG's or
with PDA's.
Homework #7, due Friday, March 5.
Pages 121-122: Problems: 2.17b, 2.18, *2.26, *2.27.
Homework #8, due Friday, March 12.
Page 149: Problems: 3.14, 3.15.
Also: Construct a Turing machine which decides the language
containing all odd length length strings which have a "0" as
their center character. (Alphabet = {0,1}).
Pop Quiz #1.
Set notation, if .. then .., set formation.
Also in pdf format
and gif format.
Pop Quiz #2.
Set notation, if .. then .., set formation. Again!
Also in pdf format
and gif format.
Quiz #1, January 14.
Set notation, if .. then .., set formation. Again!!!!!!!
Also in pdf format
and gif format.
Quiz #2, January 21.
DFA's. State diagrams. The 5-tuple definition of DFA's.
Also in pdf format
and gif format.
Quiz #3, January 28.
NFA's. Construct NFA's recognizing given language.
Convert an NFA into an equivalent DFA.
Also in pdf format
and gif format.
Quiz #4, February 4.
Regular expressions and the languages they represent.
Convert a 2-state DFA into a regular expression.
Also in pdf format
and gif format.
Quiz #5, February 10 -
Note different time: Wednesday in class
Proving languages are non-regular.
The Pumping Lemma.
Answer key available immediately after class.
Also in pdf format
and gif format.
Quiz #6, February 25.
Construct a context-free grammar. And construct a pushdown
automaton.
Also in pdf format
and gif format.
Quiz #7, March 4.
Prove that a language is not context-free with the
aid of the pumping lemma.
Also in pdf format
and gif format.
Quiz #8, March 11.
Construct a Turing machine to recognize a
specified language. (By drawing its state diagram).
Also in pdf format
and gif format.