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.  

Breaking news

If you would like to latex your homework, it would be a good idea to use a package for inference rules such as this one.

The final exam is now available.  Good luck!