Concepts in Programming Languages

Instructor: Mooly Sagiv
TA: Oded Padon

Lecture: Recitations:

This is a basic which covers some of the main programming languages and also sone 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. Applications such as domain specific programming languages. The course is inspired by the programming language course in Stanford university

Prerequisites: Computer Models and Software Project.

The grade of the course will be based on 30% homework assignments, and 70% exam.

Reading Material

Course Material

Exercise submission guidelines

Lecture Recitation Exercise
05/03 Overview 7-8/3 No recitation
12/3 Principles of Induction 14-15/3 Inductive Definitions Ex. 1 - Induction and Inductive Definitions
Due 12/04/2018
19/3 Natural Operational Semantics 21-22/3 Natural Operational Semantics
python files
26-27/3 Operational Semantics
9/4 Structural Operational Semantics TBD TBD

Course Forum

Course forum

Past Exams