15312 Foundations Of Programming Languages Jun 2026
Proficiency in a functional programming language (like Standard ML) is usually required. SML is often used for writing interpreters and type checkers in the course.
Assigns a mathematical object (like a function or a set) to each program phrase, defining meaning in terms of mathematical structures.
Train your mind to stop looking at code as strings of text. Always visualize the underlying tree structure. 15312 foundations of programming languages
The course provides a deep investigation into the design, definition, and implementation of modern programming languages. It is primarily based on the textbook (PFPL) by Robert Harper , who originally designed the course around the principle that types are the central organizing force in computer science.
The course emphasizes the (or Type Safety), which comprises two critical properties: Progress and Preservation . Train your mind to stop looking at code as strings of text
15-312: Foundations of Programming Languages is famously challenging, but it fundamentally alters how you view code. By stripping away the superficial syntax of modern software, it exposes the beautiful, logical, and mathematical machinery that powers computation. It transforms students from mere consumers of programming languages into architects capable of designing the computing languages of tomorrow.
Syntax tells you what is written . Semantics tells you what it does . It is primarily based on the textbook (PFPL)
If you want to tailor this overview to a specific project or concept, let me know. I can easily unpack: The exact mechanics of How higher-order functions are modeled mathematically
While 15-312 has a reputation for being demanding—similar to courses like OS or Compilers—it is often cited as a favorite by students interested in PL theory. It provides the tools to not only learn new languages quickly but to new ones from scratch.