Home
Details
References
Schedule
Assignments
Software

COS 510:  Programming Languages

This advanced course is for graduate students and advanced undergraduates with a keen interest in programming language semantics and applications such as security. The only requirement for the course is a considerable degree of mathematical maturity including, for instance, familiarity with proof techniques such as induction. 

Topics include: Theory and design of programming languages. How languages support abstraction, modularity, concurrency through functional programming, object-oriented programming, and other mechanisms. Operational semantics of programming languages; type systems, polymorphism, and subtyping.