Course description
Automata Theory
We begin with a study of finite automata and the languages they can define (the so-called "regular languages." Topics include deterministic and nondeterministic automata, regular expressions, and the equivalence of these language-defining mechanisms. We also look at closure properties of the regular languages, e.g., the fact that the union of two regular languages is also a regular language. We consider decision properties of regular languages, e.g., the fact that there is an algorithm to tell whether or not the language defined by two finite automata are the same language. Finally, we see the pumping lemma for regular languages -- a way of proving that certain languages are not regular languages.
Our second topic is context-free grammars and their languages. We learn about parse trees and follow a pattern similar to that for finite automata: closure properties, decision properties, and a pumping lemma for context-free languages. We also introduce the pushdown automaton, whose nondeterministic version is equivalent in language-defining power to context-free grammars.
Next, we introduce the Turing machine, a kind of automaton that can define all the languages that can reasonably be said to be definable by any sort of computing device (the so-called "recursively enumerable languages"). We shall learn how "problems" (mathematical questions) can be expressed as languages. That lets us define problems to be "decidable" if their language can be defined by a Turing machine and "undecidable" if not.
Upcoming start dates
Suitability - Who should attend?
Prerequisites
The primary prerequisite for this course is reasonable "mathematical sophistication." That is, you should feel comfortable with mathematics and proofs. Specific topics that are useful include a knowledge of graphs, trees, and logic, as well as basic data structures and algorithms.
It is intended for students who have had at least 2 years of Computer-Science courses, including discrete mathematics (graphs, trees, logic, proofs, etc.) and an introduction to data structures and algorithms.
Outcome / Qualification etc.
What you'll learn
- Finite automata and regular expressions
- Context-free grammars
- Turing machines and decidability
- The theory of intractability, or NP-complete problems
Course delivery details
This course is offered through Stanford University, a partner institute of EdX.
5-10 hours per week
Expenses
- Verified Track -$129
- Audit Track - Free