15312 Foundations Of Programming Languages ((exclusive)) Jun 2026
that treats programming languages as mathematical objects. Rather than focusing on how to code in a specific language, it explores the formal principles used to design, define, and implement them. Core Course Objectives
In the early days of computing, programmers spoke directly to machines in raw binary—ones and zeros. It was precise, but painfully slow. As machines grew more powerful, humans built languages to bridge the gap between human thought and machine execution. But each language had its own rules, quirks, and limitations. 15312 foundations of programming languages
: Based on recitation attendance and class contributions. Practical Details that treats programming languages as mathematical objects
Languages like Haskell push purity and types. Rust adds ownership for memory safety without garbage collection. Go simplifies concurrency with goroutines. Each is a different point in the design space illuminated by 15312. It was precise, but painfully slow