Spring 2000 - Michael Elhadad

Advanced Topics in Programming Languages

Advanced Topics in Programming Languages


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

Solution to Final Exam




The course will present 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++.


Lecture Notes

Last modified 23 Feb 2000 Michael Elhadad