CS331: Theory of Computation
(Autumn 2002)


Teaching Staff

Instructor Supratik Chakraborty
Friendly TA Aldrin John D'Souza

Replace the "[AT]" and spaces in the email addresses by @ if you need to send email.

All grades and scores have been posted.

Hours

What When Where
Lectures
Mon 9:30 Tue 11:30 Wed 10:30
Room A2, Maths Bldg.
Office hour
Wed 14:30-15:30
Room S13, CSE Bldg or
CFDVS Lab 1 (Maths basement)

Lecture on Rescheduled to
Mon Aug 26, Tue Aug 27
Wed Sep 3 14:00-16:00
Wed Aug 28, Mon Sep 2
Wed Sep 11 14:30-17:00
Mon Oct 14
Wed Oct 16 14:15-15:15
Extra lecture
Fri Nov 1 10:30-11:30

TutorialsWhen Where
Tutorial 1
Tue Aug 20 15:00 - 16:30
Room A2, Maths Bldg
Tutorial 2
Mon Sep 2 9:30 - 10:30
Room A2, Maths Bldg
Tutorial 3
Mon Oct 14 9:30 - 10:30
Room A2, Maths Bldg
Tutorial 4
Wed Nov 13 11:30 - 12:30
Room A2, Maths Bldg

Grading

Midterm 30%
Endterm 50%
Homeworks 20%

Reading Material


Homeworks, Practice Questions and Exams

Assignment 1 Due on Sep 2, 2002 Solutions
Mid Semester Exam 2000
Mid Semester Exam 2001
Mid Semester Exam 2002 Thurs Sep 19, 2002
Assignment 2 Due on Oct 21, 2002
End Semester Exam 2000 Ignore Question 7
End Semester Exam 2001
End Semester Exam 2002 Wed Nov 20, 2002
Practice Problem Set 1
Practice Problem Set 2
Practice Problem Set 3   Solutions
Practice Problem Set 4   Solutions

Lecture Schedule

DateTopics
Jul 22Logistics. Motivation for studying theory of computation. Overview of simple proof techniques: mathematical induction and generalization to well ordered sets
Jul 23Proof techniques: generalized induction, method of contradiction, diagonalization principle, pigeon-hole principle. Notions of cardinality of sets and counting arguments.
Jul 24More on counting arguments, infinities of different orders. Finite, countably infinite and uncountable sets. Notions of alphabet, strings, languages. Counting the number of strings and languages.
Jul 29Why no computer can generate all languages from an alphabet with only one symbol. Deterministic finite automata (DFA): definitions, acceptance of strings, language of an automaton.
Jul 30Notions of language acceptance and generation and their relation to computing functions of integers, functions computable by finite automata
Aug 1More on how to compute functions using computational models for generating/accepting languages. Notion of non-deterministic finite automata (NFA). Equivalence of computational power of DFA and NFA.
Aug 5Subset construction for showing equivalence of DFA and NFA, examples. NFAs with epsilon transitions.
Aug 6Equivalence of NFAs with and without epsilon transitions. Introduction to Regular Expressions
Aug 7 Regular Expressions: algebraic structure, descriptors of sets of strings or languages. Operations on regular expressions and corresponding set theoretic operations on languages. Equivalence of regular expressions and finite automata: converting a regular expression to an NFA with epsilon
Aug 12Converting a DFA to an equivalent regular expression. Complement, reverse of a regular language is regular
Aug 13Pumping Lemma for regular languages, examples of languages that can be proved non-regular using pumping lemma
Aug 14More on pumping lemma. Closure of regular languages under complement, union, intersection. Product automaton construction; DFAs for languages obtained by set operations on regular languages. Substitution of regular languages
Aug 19Closure of regular languages under substitution, homomorphism, inverse homomorphism; examples.
Aug 20Closure of regular languages under quotient with regular and non-regular languages. Introduction to Myhill-Nerode Theorem: use in minimizing DFAs
Aug 21More on Myhill-Nerode theorem and minimizing DFAs
Sep 3Algorithm for minimizing DFAs, canonical (upto isomorphism) minimal DFAs. Decision algorithms for regular languages: equality of languages, language containment, emptiness checking, finiteness checking.
Sep 4Introduction to Context-Free Grammars (CFG) and Context-Free Languages (CFL). Derivations: leftmost and rightmost; parse trees.
Sep 4
(extra lecture)
Equivalence of parse trees, leftmost and rightmost derivations. Ambiguous grammars, removing ambiguity from simple grammars, inherently ambiguous languages.
Introduction to Pushdown Automata (PDA) -- notions of acceptance by final state and by empty stack
Sep 9More on PDAs: epsilon transitions, non-deterministic and deterministic PDAs. Instantaneous descriptions of a PDA. Equivalence between PDAs accepting by null stack and those accepting by final state.
Sep 11Brush with determinstic PDAs (DPDA): languages accepted by DPDAs by final state and by empty stack; relations between them. Equivalence of CFGs and PDAs.
Sep 11
(extra lecture)
Equivalence of CFGs and PDAs: constructions and proofs. Removing useless symbols, epsilon productions and unit productions from arbitrary CFGs. Chomsky-Normal form for CFGs.
Sep 23Ogden's Lemma for CFLs
Sep 24Pumping Lemma and Ogden's Lemma for CFLs; closure of CFLs under union, reversal; non-closure under complementation, intersection
Sep 25Closure of CFLs under substitution, homomorphism, inverse homomorphism; decision algorithms for CFLs: emptiness, finiteness, membership

Topics related to those covered in class