15312 Foundations Of Programming Languages – Quick
Most introductory programming courses teach you syntax and APIs. They treat languages empirically—if you type x = 5 and it compiles, it works.
The course unfolds logically, building a complete picture of language theory from the ground up. The schedule below, based on a typical offering, shows how core concepts are introduced and expanded upon throughout the semester: 15312 foundations of programming languages
To help explore how these foundational concepts apply to your specific interests, let me know: Most introductory programming courses teach you syntax and
The Progress theorem states that if a program is well-typed, it is either already a value (fully evaluated) or it can take an execution step. In short, a well-typed program never gets "stuck" in an undefined state. 2. Preservation The schedule below, based on a typical offering,
If you want, I can:
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 course is structured to build a complete picture of a programming language from the ground up. The progression of topics is logical and cumulative, with each new concept building on the formal foundation established by the previous one. Here is a look at the key topics typically covered, based on course syllabi from various semesters: