Prerequisite:CS 302. A study of important programming language concepts. Topics include imperative, functional, logic, and object-oriented programming as well as new programming paradigms. An introduction to the formal study of programming language specification and analysis. (Fall only)