In this computer science course, students extend the foundational concepts developed in Discrete Structures 1 I and apply them to more advanced forms of mathematical reasoning. Students strengthen their ability to construct and analyze mathematical proofs. Building on these skills, the course introduces core topics in the theory of computation, including regular expressions, context-free grammars, and finite automata. Students analyze the expressive power and limitations of these computational models, exploring concepts such as nondeterminism, irregular languages, uncountability, and the Halting Problem.
Prerequisites
Completion of IT-CS 311 with a grade of 2.0 or higher; AND admission to the Bachelor of Science Computer Science Degree, or permission from a Computer Science program advisor.