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: CS 2490 with a minimum grade of “C-” (1.7). [Dual-listed with CS 5550.] Dual-listed courses require senior standing; juniors may enroll with permission of the department.