CSE 262: Automata., Computability, and Complexity
Fall 2008,
University of Pennsylvania
Introduction
This course offers an introduction to the science behind computing by
stuying computation abstractly without worrying about specifics of programming
languages and/or computing platforms.
In particular, we will study
(a) finite automata that capture what can be computed using constant
memory, and give the class of regular languages useful for pattern matching
languages;
(b) context-free grammars that faciliate declarative specifications of language
syntax, and the associated operational model of pushdown automata;
(c) the universal computational model of
Turing machines, and the inherent
limits of what can be solved on a computer (undecidability), and
(d) the notion of computational tractability (which problems
can be solved in polynomial-time),
and the million-dollar P vs NP question.
The course also emphasizes rigorous thinking and mathematical proofs.
Logistics
- Class: Tues Thurs 12--1.30, Berger Auditorium, Skirkanich Hall
- Instructor:
Rajeev Alur
(alur@cis), Office hour: Wed 4-5 (Levine 609)
- Teaching Assistant:
Sela Mador-Haim, Sudeepa Roy
- Recitation: Monday 4-5 (DRLB A8)
- Pre-requisites: CSE 260
Textbooks
- Required: Introduction to Automata Theory, Languages
and Computation, J.E. Hopcroft, R. Motwani,
and J.D. Ullman, Addison Wesley, Third edition, 2006.
-
Additional Reference: Introduction to the theory of computation, Michael
Sipser, Thomson Course Technology, Second Edition, 2004.
Occasionally, we will cover some topics not discussed in the text, or present a
topic in a manner significantly different compared to the text.
In such acases, course notes will be distributed in class and posted on this page.
Grading
Grades will be based on
- Homework Assignments (7) 35%
- Midterms (2) 30 %
- Final Exam 35%
Schedule
- Sept 4,9,11,16,18,23,25,30: Finite automata and regular languages
- Oct 2: Midterm 1
- Oct 7,9,16,21,23,28: Pushdown automata and context-free grammars
- Oct 30: Midterm 2
- Nov 4,6,11,13,18,20: Turing machines, computability, and Undecidability
- Nov 25, Dec 2,4: NP-completeness and complexity theory
Lecture/Recitation Topics
- Sept 4: Course logistics, Discussion of course content, Introduction to
automata using examples. You may want to read beginning pages of Chapter 1
as well as Chapter 2 (And perhaps also section 2.4)
- Sept 8 Recitation topic: Mathematical proofs (Sections 1.2, 1.3, 1.4)
- Sept 9: Deterministic Finite Automata (Sections 1.5 and 2.2)
Notes
- Recitation: During Monday's recitation, we will mainly focus on solving
problems. Many students find the homeworks difficult, and even when they have
solved the problem, some find it difficult to write the answer concisely and
rigorously. Recitation should help with these challenges. However, attendance
for recitation is optional as no new material will be covered.
- Homework Drop-off and Pick-up: On the day the homework is due, it can be
submitted during the lecture, or can be given to Merissa Mele (Levine 311) by
5pm. Graded homeworks and exams will be available with Merissa.
- Plagiarism Policy: For homeworks, you can use your class notes, the textbook, and the reference book, but not old solutions, friends, other books, or any other material from the web.
For violations of this rule, you will be given zero credit for that
assignment.
Start working on homework problems early, and if you get stuck, contact one of
us; we will be happy to help you progress.
Maintained by Rajeev Alur