4 credits Formal definition of programming languages and parsing. Contrasts functional, object-oriented, imperative, and logic paradigms. Introduces automated program analysis techniques, including dataflow analysis. Prerequisite(s): CS 357 with a C- or better and CS 418 and Junior standing or above. * This course was formerly offered under a different number; students who took the following course(s) will not receive additional credit unless the course is stated to be repeatable in the description above: CS 352. Graded (A-F) only Add to Portfolio (opens a new window)