l'ÉITIRechercheNouvelles HREF=RépertoiresRessourcesGénie/EngineeringUd'O/UofOSITESearchNewsDirectoriesResourcesSITE

CSI 3104 Introduction to Formal Languages
Winter 2020

(3 hours of lecture per week, 3 credits)
Regular languages, finite automata, transition graphs, Kleene's theorem. Finite automata with output. Context-free languages, derivation trees, normal form grammars, pumping lemma, pushdown automata, determinism. Decidability. Recursively enumerable languages, Turing machines, the halting problem. Prerequisites: CSI2101 or MAT2143.

Course Outline

Professor

Office Hours

Correctors

Lectures

Textbook

Evaluation

Assignments

Exams

Other Links

Course Outline

Details will be filled in as the term progresses.
Topic Reading Date
Introduction, Languages, Recursive Definitions Chapters 1, 2, 3 January 6-9
Regular Expressions Chapter 4 January 9-13
Finite Automata, Transition Graphs Chapters 5, 6 January 13-20
Kleene's Theorem, Nondeterministic Finite Automata Chapter 7 January 20-30
Finite Automata with Output, Regular Languages Chapters 8, 9 January 30-February 3
Nonregular Languages, Decidability Chapters 10 (pages 187-196), 11 February 3-March 2
Context-Free Grammars, Grammatical Format Chapters 12, 13 March 2-12
Pushdown Automata, Context-Free Grammars = Pushdown Automata Chapters 14, 15 (pages 318-327) March 12-19
Non-Context-Free Languages Chapter 16 March 19-23
Turing Machines Chapter 19 March 23-26
Recursively Enumerable Languages Chapter 23 March 26-30
Context-Free Languages Chapter 17 (pages 376-394, not including proof of Theorem 41) March 30
Decidability, Parsing Chapter 18 (pages 402-406 and 415-423) March 30-April 2