When Offered: Spring. Even-numbered years A rigorous treatment of theoretical aspects of computer science, including formal definition of the notion of an algorithm, abstract machines, and formal grammars. Prerequisite: C S 2490. [Dual-listed with CS 5550.] Dual-listed courses require senior standing; juniors may enroll with permission of the department.