CS130: Theory of Computation
An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship of machines and languages, Turing machines and computability
Course Syllabus
CS130: Theory of Computation
⇨ Course Number : CS130
⇨ Title : Theory of computation (Automata Theory)
⇨ Course Description : Strings and languages;
Type 0, 1, 2, 3 languages, Mealy and Moore finite state machines, state reduction, finite state accepters and regular grammars, pushdown accepters and context free grammars, contruction of LR(1) parsers, Turing machines, unsolvable problems, recursive functions.
Course Syllabus
CS130: Theory of Computation
⇨ Course Objectives : The students should be able to determine the relationship between machines and grammars, relate machines to tools like lexical analyzers and parsers, and demonstrate some unsolvable problems in computer science
Course Syllabus
CS130: Theory of Computation
⇨ Course Outline and Timeframe :
(about 2 weeks each topic)
●
●
●
●
●
Strings, languages, formal grammars
Mealy and Moore machines; conversion between
Mealy and Moore machines
State reduction
Finite state accepters and regular grammars
Pushdown accepters and context free grammars
Course Syllabus
CS130: Theory of Computation
●
●
●
●
⇨ Course outline & Timeframe, cont.
Contruction of LR(1) parsers
Turing machines, Turing's thesis and Church's thesis
Halting problem, word problem, etc
Recursive functions and evaluation using TMs
Course Syllabus
CS130: Theory of Computation
⇨ Required readings :
●
●
●
Hopcroft, Motwani, Ullman, “Intro to Automata
Theory, Languages, & Computation, 2 nd Ed.”
Denning, Dennis, Qualitz, “Machines, languages, and computation”
Aho, Sethi, Ullman, “Compilers: Principles, techniques, and tools”
● Man pages and info pages of flex/lex and bison/yacc
⇨ Exams & Projects
⇨
●
●
Written long tests 4 tests
Machine project, lexical analyzer, parser, and similar projects
Total
80%
20%
_____
100%
●
●
●
●
●
●
●
⇨ Numeric to letter grade equiv
92 A
86 B+
78 B
69 C+
60 C
50 D
0 F
CS130: Coverage of ACM Topics
●
●
●
●
●
●
⇨ AL5. Basic computability
Finite-state machines
Context-free grammars
Tractable and intractable problems
Uncomputable functions
The halting problem
Implications of uncomputability
●
●
●
●
CS130: Coverage of ACM Topics
⇨ AL7. Automata theory
●
●
●
Deterministic finite automata (DFAs),
Nondeterministic finite automata (NFAs), Equivalence of DFAs and NFAs
Regular expressions, The pumping lemma for regular expressions
Push-down automata (PDAs), Relationship of PDAs and context-free grammars, Properties of context-free grammars
Turing machines, Nondeterministic Turing machines
Sets and languages
Chomsky hierarchy
Church-Turing thesis
CS130: Wish List
⇨ See CC2001