Skip to main content

15312 Foundations Of Programming Languages ◆

When exactly does an argument get computed?

Originally developed at Carnegie Mellon University, this course has become a gold standard for understanding how programming languages actually work—not just how to type syntax, but the mathematical soul of computation itself. What is 15-312 About?

Once you understand the underlying types (sums, products, functions), every new language is just a different combination of the same fundamental building blocks. 15312 foundations of programming languages

15-312 isn't just a class; it’s a shift in perspective. It turns programming from an art of "poking the machine until it works" into a rigorous discipline of .

The famous slogan "Well-typed programs do not go wrong." When exactly does an argument get computed

Writing code that works across multiple types (generics). 3. Dynamics: Execution Models

The journey begins by moving away from "concrete syntax" (the curly braces and semicolons) and toward . You learn that a program is a structured mathematical object, not just a string of characters. 2. Statics: Type Systems Once you understand the underlying types (sums, products,

The "Statics" of a language define what it means for a program to be "well-formed" before it ever runs. You explore: