CSE303: Introduction to the Theory of Computation Fall 2016

advertisement
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
Download