```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:
●
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
⇨
●
Hopcroft, Motwani, Ullman, “Intro to Automata
Theory, Languages, & Computation, 2nd 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
Course Requirements
⇨
⇨
Exams & Projects
●
Written long tests
●
Machine project, lexical analyzer, parser,
and similar projects
Total
4 tests
80%
20%
_____
100%
⇨
●
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
```