15-314 Programming Language Semantics
12 units, Carnegie Mellon University
This lecture course introduces the foundational concepts and techniques of programming language semantics. The aim is to demonstrate the utility of a scientific approach, based on mathematics and logic, with applications to program analysis, language design, and compiler correctness. We focus on the most widely applicable frameworks for semantic description denotational, operational, and axiomatic semantics. We use semantics to analyze program behavior, guide the development of correct programs, prove correctness of a compiler, validate logics for program correctness, and derive general laws of program equivalence. We will discuss imperative and functional languages, sequential and parallel, as time permits.
Prerequisites: 15-251 (min C) and 15-312 (min C) and 15-150 (min C)
Courseweave needs JavaScript to show sections, workloads and planning tools.