CSE303: Introduction to the Theory of Computation Fall 2016 Instructor – Chen-Wei Wang (http://www.cs.stonybrook.edu/~jackie/) – Contact: chenwei.wang@sunykorea.ac.kr – Office: Academic Building B 425 – Office Hours: To Be Announced; or By appointment Prerequisites – CSE 214 – CSE 213 or 215 – CSE major or permission of instructor Course Description An introduction to the abstract notions encountered in machine computation. Topics include finite automata, regular expressions, and formal languages, with emphasis on regular and context-free grammars. Questions relating to what can and cannot be done by machines are covered by considering various models of computation, including Turing machines, recursive functions, and universal machines. Course Learning Outcomes Upon completion of the courses, students are expected to develop their: 1. Ability to define and use abstract models of computation such as finite and pushdown automata, and analyze their relative expressive power; 2. Ability to define, use, and convert between abstract machine models and formal languages; and 3. Knowledge of the power and inherent limitations of algorithmic computation. Textbook Title: Introduction to Automata Theory, Languages, and Computation Author: John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman Publisher: Pearson Edition: 3rd, 2007. ISBN-10: 0321455363 ISBN-13: 9780321455369 1 Lectures 12:30 – 13:50 on Tuesdays and Thursdays Venue: Academic Building B 103 Attendance – Attendance will be taken in the beginning of each lecture. You are considered as absent if you do not show up within 15 minutes after the class starts. – One percent (1%) of your final marks (out of 100) will be deducted for each missing class, unless a legitimate reason is given. Weekly Assignments – These assignments are designed to help you acquire the problem-solving skills that are required by the course. – Each week, there is an assignment (released on Monday evenings) for you to work on. Problems listed in these assignments are related to lecture materials covered in the same or previous week. • For each assignment, you are given one week to complete and submit your solution through Blackboard. You must complete each assignment solely on your own. – Under no circumstances should you share — in any way, shape, or form — your solutions with others. Weekly Quizzes Starting from the second week, on each Thursday we have a 25-minute quiz in the beginning of the lecture based on the lectures, exercises, assignment, and required readings from the previous week. These quizzes are designed for your best interests: they shall force, if not encourage, you to keep up with a steady pace of learning. Makeup quizzes are not possible. With justifiable reason, the weight of the missed quiz may be shifted to the final exam. 2 Grading Scheme 11 Weekly Assignments 22% 11 Quizzes 23% Midterm Test 1 15% Midterm Test 2 15% Final Exam 25% Tentative Numerical Marks to Letter Grades Letter Grade Cutoffs of Numerical Marks (out of 100) A 85 A- 80 B+ 75 B 72.5 B- 70 C+ 65 C 60 C- 57.5 D+ 55 D 52.5 D- 50 F < 50 3 Tentative Course Calendar W Day Date Topics Section Released Tue 8/30 Introduction & Review of Math 1.1 – 1.4 A1: Math Thu 9/1 Review of Math 1.1 – 1.4 Tue 9/6 FA1 : Alphabets, Strings, Languages Thu 9/8 FA: Deterministic FA (DFA) 2.1 – 2.2 Tue 9/13 FA: DFA 2.1 – 2.2 Thu2 9/15 Tue 9/20 FA: Nondeterministic FA (NFA), -NFA 2.3 Thu 9/22 FA: From NFA, -NFA to DFA 2.5 Tue 9/27 RL3 : Regular Expressions (RegEx) 3.1 Thu 9/29 RL: From DFA to RegEx Tue 10/4 RL: From RegEx to -NFA Thu 10/6 RL: Pumping Lemma Tue 10/11 Due 1 1.5 A2: DFA A1 2 Quiz 1 A3: NFA A2 3 4 Quiz 2 A4: -NFA A3 5 3.2.1, 3.2.2 3.2.3 Quiz 3 A5: Regular Lan. A4 6 4.1 – 4.2 Quiz 4 Midterm Test 1 7 10/13 FA: Equivalence and Minimization Tue 10/18 CFL4 : Context-Free Grammars (CFG) Thu 10/20 CFL: Ambiguity 4.4 5.1, 5.2 A6: CFG 8 5.4 1 Finite Automata No class: Harvest Moon 3 Regular Languages 4 Context Free Languages 2 4 Quiz 5 A5 W Day Date Topics Section Released Due Tue 10/25 CFL: Pushdown Automata (PDA) 6.1 – 6.2 A7: PDA A6 Thu 10/27 CFL: PDA ≡ CFG 6.3 Tue 11/1 CFL: Deterministic PDA 6.4 Thu 11/3 CFL: Normal Forms 7.1 Tue 11/8 CFL: Pumping Lemma 7.2 Thu 11/10 TM1 : Problems and Introduction Tue 11/15 Thu 11/17 TM: Variants 8.4 – 8.6 Tue 11/22 Undecidability 9.1 – 9.2 Thu 11/24 Undecidability 9.3 – 9.5 Tue 11/29 Intractability: P vs. N P 10.1 – 10.2 Thu 12/1 Intractability: NP-Completeness 10.3 – 10.4 Tue2 12/6 Thu 12/8 9 Quiz 6 A8: PL for CFL A7 10 Quiz 7 A9: Turing Machines A8 11 8.1 – 8.3 Quiz 8 Midterm Test 2 12 A10: Undecidability A9 13 Quiz 9 A11: Intractability A10 14 Quiz 10 A11 15 16 1 2 Implementing a Compiler in Java 12:30 – 1:50 PM, Tuesday, December 20 Turing Machines No class: Correction Day which follows the Friday schedule. 5 Quiz 11