15-814: Types and Programming Languages (F24)

About 15-814

This course introduces the fundamental principles of programming language design, type systems, and semantics.

Core Topics

Learning objectives

After taking this course, students will be able to

It is not a goal of this course to provide a survey of popular languages, as doing so has no enduring educational value, and would only reinforce oft-repeated mistakes in language design.

Prerequisites

This is an introductory graduate course with no formal prerequisites. Exposure to (statically-typed) functional programming languages such as SML, OCaml, or Haskell and proofs by rule or structural induction is helpful.

Undergraduate and masters students are welcome to attend this course. If you have already taken 15-312 Principles of Programming Languages, please check with the instructor if this course is suitable for you.

Staff

Instructor: Jan Hoffmann

Teaching Assistant: C.B. Aberlé