COURSE NUMBER AND TITLE: CSCI 3500 Applied Theory of Computing

CREDIT HOURS: 3

CATALOG DESCRIPTION: A study of the major theoretical topics needed for a well-rounded knowledge of computer science. These will include automata, formal languages, asymptotics, NP-completeness, formal verification, and the design of algorithms.

PREREQUISITE(S): CSCI 3030 and CSCI 3400, both with C or better

SUGGESTED TEXT: An Introduction to Formal Languages and Automata: Linz

COURSE OUTLINE:

  • Review Proof Techniques
  • Formal Verification
  • Classification of Algorithms
  • NP Complete Algorithms
  • Regular Expressions and Languages
  • Grammars and Context Free Languages
  • Turing Machines