Hide menu

Principles of Programming Languages and Environments

FDA119, 2004HT

Status Archive
School Excellence Center for Computer Science and Systems Engineering in Linköping (ECSEL)
Division SAS
Owner Peter Fritzson
Homepage http://www.ida.liu.se/~petfr/princprog/coursedescr03.html

  Log in  




Course plan

Lectures

21 h

Recommended for

Foundational course for ECSEL.

The course was last given

Goals

Prerequisites

MSc in a non-computer science area and some programming experience.

Organization

The course is mainly based on lectures, estimated 21 hours, 3 hours per week. The students should have a quick reading of the material before each lecture to enable discussions. There will also be a few practical programming exercises, e.g. generating a small translator from specifications, started during an introductory laboratory session of 2-4 hours.

Contents

1. What is a programming language? Abstractions in programming languages. Computational paradigms. Language definition, translation and design.

2. Language design principles such as efficiency, generality, orthogonality, and uniformity.

3. Language properties. Syntax, basic semantics. Data types, type information, type constructors, type equivalence, type conversion. Control constructs, procedure environments, activations, allocations. Abstract data types. Overloading and polymorphism. Modules and separate compilation. The mathematics of abstract data types.

4. Programming paradigms. Procedural programming, object-oriented programming languages, functional programming languages.

5. Basic semantics, such as bindings, semantic functions, scope, allocation, extent, the environments. Formal semantics of programming languages. Operational semantics, Natural Semantics, and Denotational semantics. Automatic generation of language implementations from specifications.

6. Principles and methods behind interactive and integrated programming environments. The notion of consistency. Examples of such environments. Source code configuration management and version control syste

Literature

Kenneth C. Louden: Programming Languages, Principles and Practice. PWS Publishing
Company, Boston, 1993. (ISBN0-534-93277-0)

Peter Fritzson: Specifying Practical Translators using Natural Semantics and RML.
(kompendium). Peter Fritzson: System Development Environments. (kompendium).

Lecturers

Examiner

Peter Fritzson.

Examination

Written exercises including programming exercises and active participation.

Credit

3 credits

Comments


Page responsible: Anne Moe