Computer Science and Engineering CSE 3813 Introduction to Formal Languages and Automata CREDIT/CONTACT HOURS: Credit Hours: 3, Contact Hours: 45 COORDINATOR: Dr. J. Edward Swan II TEXTBOOKS: Peter Linz, An introduction to formal languages and automata, 4th ed., Sudbury, MA, Jones and Bartlett Publishers, 2006. Supplemental Material: No material required SPECIFIC COURSE INFORMATION: Catalog Description: Three hour lecture. Theoretical foundations of computer science; formal languages and automata, parsing of context-free languages; Turing machines; introduction to computability and complexity. b. Prerequisites: Grade of C or better in CSE 2383 and CSE 2813 c. Required/Elective: Computer Science: Software Engineering: Computer Engineering: Required Elective Elective SPECIFIC GOALS OF THE COURSE: Specific Outcomes of Instruction: 1. To give students a broad overview of the theoretical foundations of Computer Science. 2. To prepare students for study of topics that depend on an understanding of formal languages and automata. Criterion 3 Outcomes: Note: Parenthesized list indicates the ABET EAC and CAC outcomes addressed by each performance criteria. 1. To give students a broad overview of the theoretical foundations of Computer Science. (EAC: a; CAC: a,j) 2. To prepare students for study of topics that depend on an understanding of formal languages and automata. (EAC: a; CAC: a,j) TOPICS COVERED: (Number of class hrs) 1. Review of material from Discrete Structures and introduction to formal languages 2 2. Regular languages and finite automata, deterministic and nondeterministic 4 3. Regular expressions and their connection to regular languages 3 4. Regular grammars, left- and right-linear grammars 3 5. Pumping Lemma and proofs that languages are non-regular 2 5. Context-free languages and context-free grammars 4 6. Pushdown automata, deterministic and nondeterministic 7. Grammar simplification methods, normal forms and simple parsing methods 10. Pumping Lemma and proofs that languages are not context-free 11. Turing machines, deterministic and nondeterministic 12. Church-Turing thesis, universal Turing machine 13. Introduction to computability: The halting problem and related problems that cannot be solved by Turing machines 14. Introduction to complexity theory, the complexity classes P and NP, and NP-complete problems 15. Examinations 4 2 2 4 2 5 3 5