History and models of computers including finite automata and Turing machines, computability, basics of formal languages, and complexity classes (P, NP, NP-complete). Prerequisite: AUCSC 111, or AUCSC 113 (2023) and AUSCI 135; and AUMAT 250. Note: Credit may be obtained for only one of AUMAT 355, AUCSC 315 and AUCSC 415 (2021).