Description
Computer scientists use hardware and software components to solve problems; this course encompasses the theoretical basics that underlie them. Automata, languages and grammar, language processing, computability and complexity theory will be examined in detail. Important topics will be explored using a combination of conceptual work and coding exercises. Prerequisites: CSC 311 and EGR 225. (3 units; Fall)