Spring 2001 - Michael Elhadad

Advanced Topics in Programming Languages


Class: Staff:
Instructor: Michael Elhadad
            email: elhadad@cs.bgu.ac.il
            Tel: 647-7874
            Room: 317
            Office Hours: Sun 12:00-14:00

Exam Solution is available.

I will accept assignments until July 20th.



The course presents essential concepts of programming languages. The strategy will be to study interpreters of languages, explaining the design decisions faced when inventing programming languages and implementing them. The goal of the course is, quoting from Hal Abelson:
``to change your view of your programming, and your view of yourself as a programmer. (To make) you see yourself as a designer of languages rather than only a user of languages, as a person who chooses the rules by which languages are put together, rather than only a follower of rules that other people have chosen.''
To achieve this transformation of your personality, the following issues will be addressed and progressively anchored in your mind (mingo-bingo, breath deeply): The course will closely follow the textbook: Essentials of Programming Languages
Daniel Friedman, Mitchell Wand and Christopher Haynes
The MIT Press, 1992.
Home page of the book

Four points characterize the approach taken to describe programming languages:

In addition, we will explore recent applications of the principles discussed in the course by looking at language constructs supporting exceptions and multithreading in Java and C++ as well as container controlled activation of objects.


Lecture Notes

Last modified 4 June 2001 Michael Elhadad