CS 678 Programming Language Semantics
Introduction to the formal mathematical study of program meaning (semantics), using one or more approaches such as operational semantics, denotational semantics, or programming logics. Emphasis on rigorous mathematical development and formal proof techniques. Language features to be studied may include types and type safety, purity and imperative effects, functional and modular abstraction, polymorphism, higher-order functions, and object-oriented features. Expected preparation:
CS 558 and/or
CS 557.