CS 311 Computational Structures
Introduces the foundations of computing. Regular languages and finite automata. Context free languages and pushdown automata. Turing machines and equivalent models of computation. Computability. Introduction to complexity. An appropriate programming language is used for programming experiments.