Beside the computers itself, programming languages are the most important tools of a computer scientist, because they allow the formulation of algorithms in a way that a computer can perform the desired actions. Without the availability of (high level) languages it would simply be impossible to solve complex problems by using computers. Therefore, high level programming languages form a central topic in Computer Science. It should be a must for every student of Computer Science to take a course on the organization and structure of programming languages, since the knowledge about the design of the various programming languages as well as the understanding of certain compilation techniques can support the decision to choose the right language for a particular problem or application. This book is about high level programming languages. It deals with all the major aspects of programming languages (including a lot of examples and exercises). Therefore, the book does not give an detailed introduction to a certain program ming language (for this it is referred to the original language reports), but it explains the most important features of certain programming languages using those pro gramming languages to exemplify the problems. The book was outlined for a one session course on programming languages. It can be used both as a teacher's ref erence as well as a student text book.