Main content

This entry is from Winter semester 2021/22 and might be obsolete. No current equivalent could be found.

CS 552 — Semantics of Programming Languages
(dt. Semantik von Programmiersprachen)

Level, degree of commitment Specialization module, compulsory elective module
Forms of teaching and learning,
workload
Lecture (4 SWS), recitation class (2 SWS),
270 hours (90 h attendance, 180 h private study)
Credit points,
formal requirements
9 CP
Course requirement(s): Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks.
Examination type: Oral or written examination
Language,
Grading
German,
The grading is done with 0 to 15 points according to the examination regulations for the degree program M.Sc. Computer Science.
Duration,
frequency
One semester,
Regelmäßig alle 3 bis 4 Semester
Person in charge of the module's outline Prof. Dr. Rita Loogen

Contents

Different approaches for the formal description of the meaning (semantics) of programming languages are presented. Semantic models support the understanding of programming languages and the development of compilers. Basically there are three different approaches, which are introduced in the lecture by means of a simple imperative model language:

  • Operational semantics: Description of computations
  • Denotational semantics: Description of the input/output behavior
  • Axiomatic semantics: Specification of program properties

In addition, extensions of the basic techniques for modeling advanced programming language constructs are presented.


Qualification Goals

  • Learning and applying different techniques of semantics,
  • Application of formal methods for the description and analysis of programming language constructs,
  • Practicing scientific working methods (recognition, specification, solving problems, training of abstraction skills),
  • Training oral communication skills in the exercises by practicing free speech in front of an audience and during discussion.

Prerequisites

None. The competences taught in the following modules are recommended: Object-oriented Programming, Declarative Programming.


Applicability

The module can be attended at FB12 in study program(s)

  • B.Sc. Computer Science
  • M.Sc. Computer Science
  • M.Sc. Mathematics
  • LAaG Computer Science

When studying M.Sc. Computer Science, this module can be attended in the study area Specialization Modules in Computer Science.

The module can also be used in other study programs (export module).

The module is assigned to Theoretical Computer Science. Further information on eligibility can be found in the description of the study area.


Recommended Reading

  • Hanne Riis Nielson and Flemming Nielson, Semantics with Applications: A Formal Introduction, Wiley, Chichester, UK, 1992.
  • Glynn Winskel: Semantics of Programming, MIT Press 1993.
  • Matthew Hennessy, The Semantics of Programming Languages: An Elementary Introduction Using Structural Operational Semantics, Wiley, New York, 1990.



Please note:

This page describes a module according to the latest valid module guide in Winter semester 2021/22. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:

The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.

The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.