CSCI3130: Formal Languages and Automata Theory — Fall 2019
This is the webpage for a previous offering of the course in 2019; latest offering available here
Siu On CHAN Office hours Tue 2:30-4:30pm SHB 911
Teaching assistants
- Tsun Ming CHEUNG tmcheung@cse Mon 11:30-12:30 SHB 101
- Jingjing Jessica LI lijj@cse Fri 4-5 SHB 1024
- Jinwei LIU jwliu@cse Thu 2-3 SHB 913
- Hanyuan LIU liuhy@cse Wed 10:30-11:30 SHB 1026
News
- Dec 7: Homework 6 is now posted below. Special due date: December 16 Monday 11:59pm
- Dec 7: Week 13 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Dec 7: Week 12 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Dec 1: Week 11 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Nov 30: Homework 5 is now posted below. Special due date: December 9 Monday 11:59pm
- Nov 26: As announced on Piazza, HW4 deadline is Nov 25.
- Nov 12: HW4 deadline is postponed indefinitely until CUHK reopens
- Nov 12: HW4 deadline is further extended to Nov 12 23:59
- Nov 11: Classes today canceled due to CUHK closure
- Nov 7: Week 10 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Oct 30: Homework 4 is now posted below. Special due date: November 11 Monday 23:59pm
- Oct 30: Week 9 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Oct 16: Week 7 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Oct 8: Week 6 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Oct 8: Homework 3 is now posted below
- Sep 25: Week 4 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Sep 24: Homework 2 is now posted
- Sep 17: Lecture 3 video is now available
- Sep 17: Week 3 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Sep 16: HW1 is updated. Q4(b) is added for clarification after Piazza discussion
- Sep 11: Week 2 tutorial handout is posted below. Tutorial solution will also be posted on Piazza
- Sep 9: Homework 1 is now posted
- Sep 6: Lecture 2 video is now available
- Sep 4: Lecture 1 video is now available
- Sep 2: I will teach the first lecture as usual for those students not boycotting classes
- Sep 2: Lecture videotaping was frequently requested in the past. I will experiment with uploading lecture videos this year (at least for the first few lectures)
Information
- Lectures
- Mon 4:30-6:15pm (TYW LT) Wed 5:30-6:15pm (LSK LT5)
- Tutorials
- Tue 11:30-12:15pm (ERB LT) Tue 4:30-5:15pm (LSB LT5) Tue 5:30-6:15 (ERB 803) Wed 10:30-11:15 (ERB 408)
- Prerequisites
- Discrete math CSCI2110 or ENGG2440
- Reference book
- Introduction to the Theory of Computation, Michael Sipser, 3rd ed (older editions also work and are much cheaper)
- Forum
- Please sign up on Piazza
- Grading
- Homeworks (30%), Midterm exam (30%), Final exam (40%)
To pass this course, getting at least 40 points out of 100 points in the final exam may be required
Lectures
Date | Topic | Readings | Lectures | Tutorials | Problems | |
---|---|---|---|---|---|---|
1 | Sep 2 | Introduction, finite automata | §1.1 | pdf video | no tutorial | |
2 | Sep 4 | Nondeterministic finite automata | §1.2 | pdf video | ||
3 | Sep 9 | NFA to DFA, regular expressions | §1.2, 1.3 | pdf video | week 2 | HW 1 |
4 | Sep 11 | Equivalence of DFA and regular expressions | §1.2, 1.3 | |||
5 | Sep 16 | Text search, closure properties | §1.1-1.3 | week 3 | ||
6 | Sep 18 | Irregular languages (Myhill–Nerode theorem) | Exercise 1.48 | |||
7 | Sep 23 | DFA minimization, pumping lemma | §1.4 | week 4 | HW 2 | |
8 | Sep 25 | Context-free grammars | §2.1 | |||
9 | Sep 30 | Parsing | §2.1, 7.2 | no tutorial | ||
10 | Oct 2 | Pushdown automata | §2.2 | |||
Oct 7 | Holiday: Chung Yueng Festival | week 6 | HW 3 | |||
11 | Oct 9 | PDA and CFG conversions | §2.3 | |||
12 | Oct 14 | Pumping lemma for CFGs | §2.4 | week 7 | ||
13 | Oct 16 | LR(0) parser | §2.4 | |||
Oct 21 | Midterm exam at TYW & YIA LT6 | no tutorial | ||||
14 | Oct 23 | Church–Turing Thesis | §3.1 | |||
15 | Oct 28 | Turing machines and their variants | §3.2, 3.3 | week 9 | HW 4 | |
16 | Oct 30 | Decidability | §4.1, 4.2 | |||
17 | Nov 4 | Undecidability and reductions | §5.1 | week 10 | ||
18 | Nov 6 | Undecidability and reductions |
Date | Topic | Readings | Lectures | Tutorials | Problems | |
---|---|---|---|---|---|---|
18 | Undecidable problems for CFGs | §5.1, 5.2 | pdf txt | |||
19 | Efficient Turing machines | §7.1, 7.2 | pdf txt | week 11 | ||
20 | Nondeterministic polynomial time | §7.3, 7.4 | pdf txt | |||
21 | NP-completeness | §7.4, 7.5 | week 12 | |||
22 | Cook–Levin theorem | §7.4, 7.5 | ||||
23 | Space complexity | §8.1, 8.5, 9.1 | week 13 | HW 6 |
Date | Topic | Readings | Lectures | Tutorials | Problems | |
---|---|---|---|---|---|---|
1 | Sep 2 | Introduction, finite automata | §1.1 | no tutorial | ||
2 | Sep 4 | Nondeterministic finite automata | §1.2 | |||
3 | Sep 9 | NFA to DFA, regular expressions | §1.2, 1.3 | week 2 | HW 1 | |
4 | Sep 11 | Equivalence of DFA and regular expressions | §1.2, 1.3 | |||
5 | Sep 16 | Text search, closure properties | §1.1-1.3 | week 3 | ||
6 | Sep 18 | Irregular languages (Myhill–Nerode theorem) | Exercise 1.48 | |||
7 | Sep 23 | DFA minimization, pumping lemma | §1.4 | week 4 | HW 2 | |
8 | Sep 25 | Context-free grammars | §2.1 | |||
9 | Sep 30 | Parsing | §2.1, 7.2 | no tutorial | ||
10 | Oct 2 | Pushdown automata | §2.2 | |||
Oct 7 | Holiday: Chung Yueng Festival | week 6 | HW 3 | |||
11 | Oct 9 | PDA and CFG conversions | §2.3 | |||
12 | Oct 14 | Pumping lemma for CFGs | §2.4 | week 7 | ||
13 | Oct 16 | LR(0) parser | §2.4 | |||
Oct 21 | Midterm exam at TYW & YIA LT6 | no tutorial | ||||
14 | Oct 23 | Church–Turing Thesis | §3.1 | |||
15 | Oct 28 | Turing machines and their variants | §3.2, 3.3 | week 9 | HW 4 | |
16 | Oct 30 | Decidability | §4.1, 4.2 | |||
17 | Nov 4 | Undecidability and reductions | §5.1 | week 10 | ||
18 | Nov 6 | Undecidable problems for CFGs | §5.1, 5.2 | |||
19 | Nov 11 | Efficient Turing machines | §7.1, 7.2 | week 11 | HW 5 | |
20 | Nov 13 | Nondeterministic polynomial time | §7.3, 7.4 | |||
21 | Nov 18 | NP-completeness | §7.4, 7.5 | week 12 | ||
22 | Nov 20 | Cook–Levin theorem | §7.4, 7.5 | |||
23 | Nov 25 | Space complexity | §8.1, 8.5, 9.1 | week 13 | HW 6 | |
24 | Nov 27 | Zero knowledge proofs | §10.4 |
Tutorials
Tutorial solutions can be found on Piazza after Tue tutorial sessions
Homeworks
Homeworks are typically posted on Mondays every other week and due on Thursdays the following week
Solutions should be submitted to the box labeled CSCI 3130 on the 9th floor of SHB by 11:59pm on Thursday
Your lowest two homework grade (out of 6 assignments) will be dropped
Collaboration on homework is encouraged, but you must write up your own solutions, and list your collaborators on the solution sheet
- Homework 1 due Thu Sep 19 (updated on Sep 16: Q4(b) is added for clarification after Piazza discussion)
- Homework 2 due Thu Oct 3
- Homework 3 due Thu Oct 17
- Homework 4 due Mon Nov 25
- Homework 5 due Mon Dec 9
- Homework 6 due Mon Dec 16