Programming Language Design and Implementation (Autumn 2021)

  • Instructor: Ilya Sergey

  • Lectures: Wednesdays, 9:00am-12:00pm

  • Location: Yale-NUS College, Elm Common Lounge (level 2, next to Elm Dining Hall)

  • Office hours: Mondays, 3:30pm-5:00pm, #RC3-01-03E (Cendana)

  • Peer Tutor: Hoang Ngoc Tram

  • Tutoring Sessions: Saturdays, 1-3pm, Classroom 22 (RC3-02-03)

Lectures

Lecture materials will be posted gradually as we progress through the course.

Code

Homework Projects

Textbooks and Resources

On Principles of Compiler Construction

  1. Compilers: Principles, Techniques, and Tools (2nd Edition) by Aho, Lam, Sethi, and Ullman

  2. Advanced Compiler Design and Implementation by Muchnick

  3. Modern Compiler Implementation in ML by Appel

On Types and Type Systems

  1. Types and Programming Languages by Pierce

  2. Advanced Topics in Types and Programming Languages by Pierce et al.

On Program Analysis

  1. Principles of Program Analysis by Nielson, Nielson, and Hankin

On OCaml

  1. Introduction to Objective Caml by Jason Hickey

  2. Real World OCaml by Yaron Minsky, Anil Madhavapeddy, and Jason Hickey