Prerequisite: CS631. Concepts and structures governing the design and implementation of modern programming languages. Run-time representations of traditional block structured languages, typing systems, abstraction and procedure mechanisms, and storage management. Special emphasis on object-oriented and functional languages, their type systems, and operational and denotational semantics.