

CSE303
| Course |
CSE303 |
| Title |
Introduction to the Theory of Computation |
| Credits |
3 |
| Course Coordinator |
Ker-I Ko |
| Current Catalog Description |
An introduction to the abstract notions encountered in machine computation. Topics include finite automata, regular expressions, and formal languages, with emphasis on regular and context-free grammars. Questions relating to what can and cannot be done by machines are covered by considering various models of computation, including Turing machines, recursive functions, and universal machines. |
| Prerequisite |
CSE 214 and (CSE 213 or CSE 215) |
| Course Goals |
- Introduce abstract models of computation such as finite and push-down automata, and analyze their relative expressive power.
- Explore the connection between abstract machine models and formal languages, as specified by grammars.
- Enhance student’s awareness of both the power and inherent limitations of algorithmic computation via the study of Turing machines and/or other abstract computational models.
|
| Textbook |
Problem Solving in Automata, Languages, and Complexity, Authors: Ding-zhu Du, Ker-I Ko, John Wiley & Sons , New York , Year: 2001, ISBN: 0-471-43960-6
Elements of the Theory of Computation, 2nd edition, Authors: Harry Lewis and Christos Papadimitriou Prentice Hall , New Jersey , Year: 1998, ISBN: 0-13-262478-8. |
| Major Topics Covered in Course |
- Strings and languages (1 week)
- Regular languages, regular expressions and finite automata (3.5 weeks)
- Context-free grammars, parsing, pushdown automata (3.5 weeks)
- Turing machines, unrestricted grammars, Church-Turing thesis (3 weeks)
- Introduction to recursion theory, universal Turing machine, halting problem, undecidability (3 weeks)
|
| Laboratory Projects |
No large scale projects are required. |
| Course Webpage |
http://www.cs.sunysb.edu/~cse303 |
|
|