CENG 516

Advanced Programming Languages

Design and implement new language features, to precisely understand the rationale for existing features in modern languages, and to understand how design decisions can impact implementations.

Introduction to programming languages
Syntax and semantics I
Syntax and semantics II
Denotational semantics
Type theory I
Type theory II
Lambda calculus I
Lambda calculus II
Axiomatic semantics I
Axiomatic semantics II
Verifying program properties with theorem provers
Logic programming I
Logic programming II