ITU logo

Programming Languages ITU F2005

This course introduces programming language concepts and tools, such as interpreters, compilers, grammars, parsers, parser generators, abstract machines, type checking, etc. We shall model imperative, functional, and object-oriented programming languages by means of interpreters and simple compilers.

Latest news

Course information

Plan
Lecture plan with links to lecture notes, slides, etc.
When and where
We meet Wednesdays at ITU (Rued Langgaardsvej 7, 2300 København S), starting Wednesday 2 February and ending Wednesday 27 April. Lectures are held in 4A14 (NB: Change) and exercises are held in 4A54.
Course format
There will be lectures in the morning (9h-12h) and exercises in the afternoon (13h-16h). The weekly exercises require implementation of programming language concepts. The exercises are voluntary, but it is practically impossible to pass the course without doing them.
Teachers
Teaching language
All course materials are in English but the lectures will be given in Danish (unless there is a strong demand to the contrary).
Programming language
We shall use Standard ML (SML) as a meta-language: the language we use to describe other languages, and the language in which we implement interpreters and compilers.
Course materials
Form
We shall study programming language concepts in two ways. First, by learning Standard ML, which is quite different from Java. Secondly, and mostly, by creating implementations of other kinds of programming languages: imperative (C style), functional (Standard ML-style), and object-oriented (Java-style). That way we learn the concepts of those languages and how they are implemented on the computer.
Warning
It is very hard to follow the remainder of the course if you do not get a good grasp of Standard ML early on; this requires solving the weekly exercises.
Official course description
See the Intranet.
Exam
There is a written examination on Wednesday 29 June 2005 (it is your responsibility to check with the course database!) with books etc. but without computers.
Old exam questions:
Last year's course homepage
Here is last year's course homepage.
Additional literature
Here are a few pointers to the literature on compilers and interpreters.
Projects
Here is a list of project proposals. It makes eminent good sense to do a four-week project following the course.


Peter Sestoft (sestoft@dina.kvl.dk) 2005-01-11