15312 Foundations Of Programming Languages [top] Jun 2026

You will extend the basic calculus with powerful features:

If a well-typed program takes an execution step, the resulting program has the exact same type.

You don’t need a CMU ID to learn this. The canonical texts for "15312 foundations of programming languages" are:

" began not with a line of code, but with a question: What is a program, truly? 15312 foundations of programming languages

Overall, "15312 Foundations of Programming Languages" is a comprehensive and engaging course that provides a solid foundation in programming languages. While it may have a steep learning curve, the course offers a wealth of knowledge and practical experience, making it an excellent choice for students and professionals interested in programming languages and software development.

To master the material covered in 15-312, the primary text is almost always by Robert Harper. It is a dense, rigorous, but incredibly rewarding guide to the field.

The structural trade-offs between compile-time guarantees and runtime flexibility. You will extend the basic calculus with powerful

The students of Carnegie Mellon University knew 15-312 wasn't just a class; it was a rite of passage into the abstract. While others wrestled with memory leaks in C, the "312" crowd sat in the TR 12:30 PM lecture contemplating the cosmic elegance of Type Theory and the "Progress and Preservation" of the universe itself. The Protagonist: The Compiler's Apprentice

Modern engineering relies on DSLs (SQL, Regex, configuration languages like YAML, even Terraform HCL). 15-312 gives you a blueprint for defining your own language: syntax, semantics, and a type checker.

forall a. a -> a

As the course progresses, students use these foundational tools to analyze complex language paradigms, including:

In this example, the identity function takes an argument x and returns it unchanged. Our type inference algorithm infers that identity has a type scheme forall a. a -> a , indicating that it works with any type a .

Closed or open-book exams focusing on both theory and application. 6. The "Bible" of the Course Overall, "15312 Foundations of Programming Languages" is a

[Pure Logic] ---> [Product/Sum Types] ---> [Functions/PCF] ---> [Imperative Memory/Continuations] MinLog & MinProd

Experience with structural induction and formal logic is crucial, as you will be proving properties of languages.