120 likes | 323 Views
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. CS130: Theory of Computation. Course Syllabus CS130: Theory of Computation. Course Number : CS130
E N D
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 CS130: Theory of Computation
Course SyllabusCS130: 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 SyllabusCS130: 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 SyllabusCS130: 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 SyllabusCS130: 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 SyllabusCS130: Theory of Computation • Required readings: • 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 4 tests 80% • Machine project, lexical analyzer, parser,and similar projects 20% _____ • Total 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