B522 Programming Language Foundations (3 cr.) P: C311 or B521, and B510. Introduction to denotational, operational, and axiomatic approaches to programming language semantics. Semantic analysis of major programming language features. Logics of programs. B522 corresponds to old C616.