Revised Aug 31, 2015

CS 442: Principles of Programming Languages


Watch a video introduction to this course on YouTube.

General description

This course examines foundational issues in contemporary programming languages, including abstraction mechanisms, operational semantics, type systems, and extensibility.

Logistics

Audience

Normally available

Related courses

For official details, see the UW calendar.

Software/hardware used

Typical reference(s)

Required preparation

At the start of the course, students should be able to

Learning objectives

At the end of the course, students should be able to

Typical syllabus

Untyped lambda calculus and dynamically-typed languages (9 hours)

Typed lambda calculus and statically-typed languages (9 hours)

Polymorphism (9 hours)

Other topics (9 hours)

Topics chosen by the instructor to extend and/or complement the above. Possible choices include, but are not limited to: