pl-semantics-and-types

Programming Languages: Semantics and Types

CIS 7000-01 Fall 2025

[!IMPORTANT] The first class will be Wednesday, September 3rd. There is no class on 8/27.

Course Description

What makes a programming language useful, expressive, safe, or even elegant? How can we evaluate the features of modern programming languages and understand what they can do and how they relate? This course takes a mathematical approach to understanding programming language designs, focusing on their dynamic semantics and static type systems. We’ll rigorously define what programs mean using operational, denotational, and relational semantics, then dive into the expressive power of type theories to provide an abstract view of computation.

Course Information

Topics