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