Computer Science and Engineering CSE 3813

advertisement
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
Download