Advanced Topics in Programming Languages

Wednesday 12-15, Dan David 203
Instructor: Mooly Sagiv
TA:Oded Padon

This is an advanced course which covers many of the fundamental areas in the programming languages design and implementations. The topics include: operational and denotational program semantics, programming concepts such as higher order functions, lazy and eager evaluation, normal forms such as continuation passing style, polymorphism, type theory, dependent types, and monads. Techniques such as program verification, abstract interpretation, and partial evaluation. Applications such as domain specific programming languages.

Prerequisites: Compilation or programming languages course.

The grade of the course will be based on 10% course notes, 35% homework assignments, and 55% exam. There are two options for exam: home exam and class exam which is easier. The date for both is 26/6

Reading Material

Tentative Schedule

  1. 25/10 Introduction
  2. 1/11 (13 because of Rabin's memorial) Introduction to Haskell 1/11 (13 because of Rabin's memorial)
    Class notes by Ori Barel and Maxim Finkel
  3. 8/11 Lambda Calculus
    Recitation
  4. 15/11 Operational Semantics
  5. 22/11 Denotational Semantics
    Operational Semantics Recitation

Class Notes

Follow Ron Shamir's instructions for preparing class notes in latex

Homework Assignments

  1. Assignment 1 Haskel due November 22
  2. Assignment 2: Lambda Calculus and Natural Operational Semantics November December 12

Computer Forum

Important Message

If your POWERPOINT does not show certain mathematical characters use fonts in a zip file, by clicking here. Make sure to extract
them to the appropriate directory,

Alternatively, you can extract them anywhere, and install them via the control panel