Advanced Topics in Programming Languages
Tuesday 09-12, Orenstein 110
Instructor: Mooly Sagiv
TA: Shachar Itzhaky
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. The course is inspired by the programming language course in Stanford university
Prerequisites: Compilation or programming languages course.
The grade of the course will be based on 20% course notes, 30% homework assignments, and 50% 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
- 6/3 Introduction
Original Slides
Class notes by Ghila Castelnuovo and Omer Tripp
- 13/3 Javascript
Original Slides
Class notes by Omri Gindi and Roi Becker
- 20/3 Haskel
Original Slides
Class notes by Tomer Weiss and Yotam Feldman
- 27/3 No Class
- 6/4 Operational Semantics
Original Slides
- 17/4 Denotational Semantics
Class notes by Alexander Matveev and Ariel Jarovsky
Original Slides
- 23/4 Axiomatic Semantics
Class notes by Michal Balas and Yair Asa
Original Slides
- 1/5 Type Checking and Type Inference
Class notes by Dvir Netanely and Guy Rozendorn
Original Slides
Revised version of Chapter 6 from Concepts in Programming Languages
- 8/5 Typed Lambda Calculus
Class notes by Guy Golan-Gueta and Shachar Itzhaky
Haskel Code for Type Checking by Guy Golan-Gueta and Shachar Itzhaky
Original Slides
- 15/5 Extensions to Typed Lambda Calculus (Revised)
Class notes by Orr Tamir and Bar Avidan
Original Slides
- 21/5 Subtyping
Class notes by Roman Kecher and Anna Itin
Original Slides
- 28/5 Featherweight Java
Class notes by Adam Morrison
Original Slides
- 4/6 Control in Sequential Languages
Original Slides
- 19/6 IO Monads
Original Slides
Homework Assignments
- Assignment 1:Due April 17
- Assignment 2:Due June 26
Computer Forum
Please register into course 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