CS130: Theory of Computation

advertisement

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

Course Requirements

⇨ Exams & Projects

Written long tests 4 tests

Machine project, lexical analyzer, parser, and similar projects

Total

80%

20%

_____

100%

Grading System

⇨ 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

Download