15312 Foundations Of Programming Languages Link

15-312 Foundations of Programming Languages is a core computer science course at Carnegie Mellon University (CMU) that explores the mathematical principles behind programming language design, semantics, and implementation.

  1. Progress: A well-typed program is either a finished value or can take a next step (it’s not "stuck").
  2. Preservation: If a program takes a step, its type remains the same.

Dynamics: Defining exactly how a program executes via transition systems. Key Pillars of the Curriculum 1. Structural Induction 15312 foundations of programming languages