How do we prove what a program actually does? 15-312 primarily utilizes . SOS uses formal inference rules to transition a program from one state to another. The course contrasts two primary evaluation strategies:
15-312 Foundations of Programming Languages is a core computer science course at Carnegie Mellon University (CMU) 15312 foundations of programming languages
By treating languages mathematically, computer scientists can prove properties about programs—such as safety, correctness, and efficiency—before a single line of code is ever compiled. 1. Syntax: Abstract Syntax Trees (ASTs) and Binding How do we prove what a program actually does
Instead of treating programming languages as a collection of arbitrary features, the course teaches students to view them as formal, coherent systems. By mastering these foundational concepts, students can understand, compare, and design new languages effectively. 2. Core Topics Covered in 15312 By mastering these foundational concepts
Because they see new syntaxes as variations of foundational concepts (e.g., seeing Rust's ownership model as a linear type system).