CMSC 28000: Introduction to Formal Languages (Winter 2020)

General information

Instructor
Timothy Ng (timng@uchicago.edu)
Office hours: MWF 2:30-3:30 or by appointment, JCL 203
Teaching assistants
Jafar Jafarov (jafarov@uchicago.edu)
Office hours: Mondays 4:00-5:00 pm, JCL 207
Jesse Stern (jesseastern@uchicago.edu)
Office hours: Tuesdays 12:00-1:00 pm, JCL 207
Lectures
MWF 1:30-2:30, Ryerson 276
Course webpage
https://cs.uchicago.edu/~timng/280/w20/

Overview

This course explores the mathematical foundations of computation. How do we quantify computational power? Are there limits on the kinds of problems that computers can solve? To answer such questions, we examine the curious connection between computation and mathematical linguistics.

Communication

There are a number of different ways we'll be communicating about the course.

The Piazza and Gradescope sites for this course are accessible from Canvas. You should be automatically enrolled in Canvas, as well as Piazza and Gradescope, once you access these sites from Canvas.

Topics

Regular languages
Deterministic and non-deterministic finite automata, closure properties, regular expressions, pumping lemma, morphisms, DFA minimization, the Myhill-Nerode theorem.
Context-free languages
Context-free grammars, normal forms, pumping lemma for CFLs, pushdown automata, closure properties.
Decidable and undecidable languages
Turing machines, variations in the basic model (multi-tape, multi-head, non-determinism), Church-Turing thesis, undecidability, the halting problem, reductions.

Text

There is no required textbook for this course. Lectures will be roughly following Kozen. Automata and Computability (1997). Other good sources include Hopcroft and Ullman. Introduction to Automata Theory, Languages, and Computation, 1st ed. (1979) and Sipser. Introduction to the Theory of Computation, 3rd ed. (2012), though you should be careful about differences in notation. In addition, lecture notes will be made available shortly after each lecture.

Evaluation

Your computed grade in this course will be determined by the following formula: $$ \sum_{i=1}^8 (5\% \times P_i) + (20\% \times M) + \left( 40\% + \sum_{i=1}^8 (5\% \times (1-P_i)) \right) \times F,$$ where $P_i$ is the percentage grade for problem set $i$, $1 \leq i \leq 8$, $M$ is the grade for the midterm, and $F$ is the grade for the final.

In other words, there are eight problem sets worth up to 5% each, one midterm worth 20%, and a final exam worth at least 40%, with the portion of the grade that you don't receive on the problem sets reassigned to the final.

Lectures

January 6
Introduction, problems, strings
January 8
Languages, finite automata
January 10
Regular languages, closure properties
January 13
Product construction, nondeterminism
January 15
Nondeterministic finite automata, subset construction
January 17
$\varepsilon$-NFAs
January 22
Regular operations, regular expressions, equivalence with finite automata
January 24
Finite automata and regular expressions
January 27
Non-regular languages, the Pumping Lemma
January 29
The Myhill-Nerode theorem
January 31
DFA minimization
February 3
Brzozowski's DFA minimization algorithm.
February 5
Midterm test (in-class)
February 7
Derivatives of regular expressions, grammars
February 10
Context-free grammars
February 12
Chomsky Normal Form, the Cocke-Younger-Kasami algorithm
February 17
Pushdown automata
February 19
Equivalence of CFGs and PDAs
February 21
Non-context-free languages, the Pumping Lemma
February 24
Computability, Turing machines
February 26
Turing machines
February 28
Decidability and decision problems on formal languages
March 2
Recognizability and undecidability
March 4
Undecidable problems, Rice's theorem
March 6
Reduction, unrecognizability
March 9
Undecidable CFL problems, Post Correspondence Problem, Kolmogorov complexity
March 11
Q&A

Problem sets

Problem set 1
Due Wednesday January 15
Problem set 2
Due Wednesday January 22
Problem set 3
Due Friday January 31
Midterm information
About the midterm and related exercises
Problem set 4
Due Wednesday February 12
Problem set 5
Due Wednesday February 19
Problem set 6
Due Wednesday February 26
Problem set 7
Due Wednesday March 4
Problem set 8
Due Wednesday March 11
Final exam information
About the final exam and related exercises

Academic integrity

It is your responsibility to be familiar with the University’s policy on academic honesty. Instances of academic dishonesty will be referred to the Office of the Provost for adjudication. Following the guidelines above on collaboration and citation should be sufficient, but if you have any questions, please ask me.

Accessibility

Students with disabilities who have been approved for the use of academic accommodations by Student Disability Services (SDS) and need reasonable accommodation to participate fully in this course should follow the procedures established by SDS for using accommodations. Timely notifications are required in order to ensure that your accommodations can be implemented. Please meet with me to discuss your access needs in this class after you have completed the SDS procedures for requesting accommodations.