Skip to main content
Princeton Mobile homeCourses home

Advanced Topics in Computer Science: Principles of Programming Languages

COS 598A

Info tab content
This course offers an introduction to principles of programming languages through the definition of little languages such as Kleene algebra, the lambda calculus, and the pi calculus. It covers topics in denotational and operational semantics of programming languages, techniques for reasoning about programming languages, type systems, logics, and programs, principles of programming language design such as compositionality, orthogonality, soundness, and completeness, proof techniques such as logical relations, and the relationship between programming languages and formal logic.
Instructors tab content
Sections tab content

Section S01