Cancelled Topics in Programming Languages (TiPL)

Course content

This course provides an introduction to state-of-the-art research and applications within an area of programming languages involving theory, design, reasoning, implementation and/or application of programming languages. It acquaints students with performing and communicating independent research in project form. The course consists of a particular set of topics reflecting state-of the- art research and applications within theory, design, implementation and/or application of programming languages. This may include the construction, analysis or manipulation of programs with predictable properties and/or for a certain purpose. The particular topic(s) change from year to year. The course covers a selection of topics that reflect the current state of research as well as instructor and participant backgrounds and interests. It consists of lectures and exercises on the topics selected and subsequent group (2-4 persons) mini-projects. The mini-projects may consist of theoretical investigations, software construction or a combination of these. Master's thesis projects will be offered in continuation of the course. 


In 2023, the course is about programming language aspects of quantum computing such as high-level quantum programming languages, their compilation to quantum circuits and instruction sets for quantum computers, synthesis of quantum error handling and correction, examples of quantum algorithms expressed in high-level languages, classical programming and high-performance simulation of quantum algorithms, and relevant mathematical foundations, semantics and algebra for quantum  program transformation and optimization.

Learning outcome

Knowledge of

  • Aspects of the dual nature of programs as software (to be executed) and as data (to be reasoned about, in particular
  • analyzed and transformed)
  • The role of a precise (mathematical) semantics for a programming language in connection with analyzing and manipulating programs
  • Principles of programming language design and how they are applied in connection with the topics under study

Skills to

  • Discuss properties such as correctness and performance and define what they mean in the specific topics under study
  • Specify ideas and concepts as rigorous definitions and make falsifiable (or provable) statements about them
  • Read, assess and communicate research papers
  • Apply central results in the given area of studies
  • Write a research paper
  • Prepare and give a research paper presentation

Competences to

  • Develop a given project proposal into a project plan, execute it, and present the results

The course progresses from teaching (lectures with exercises) to mini-project and finally preparation for presentation/oral exam:

▪ Lecture phase: lectures and exercises, formation of project groups (4 weeks)
▪ Project phase: project work (4 weeks)
▪ Presentation and exam preparation (1 week)

Research articles and excerpts from books, distributed electronically. 

See Absalon for a list of course literature.

Advanced Programming (AP) or equivalent.
Semantics and Types (SaT) is recommended, but not required.

Academic qualifications equivalent to a BSc degree is recommended.

Continuous feedback during the course of the semester
Peer feedback (Students give each other feedback)

Students receive feedback from the instructors during the course on
exercises and project status reports (draft papers). Students give each
other feedback within the mini-project groups.

7,5 ECTS
Type of assessment
Oral examination, 30 minutes
Type of assessment details
Individual oral examination without preparation.

Format: An individual presentation of select parts of group report followed by individual examination in the course topics (see topics and learning objectives) with special emphasis on the subject of the written report the student has co-authored.
Exam registration requirements

Submission of mini-project report.

All aids allowed
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners.

If a student is not qualified for the oral exam qualication can be achieved
by submission/re-submission of an individual project report no later
than three weeks before the reexam.
Individual oral examination (30 minutes, without preparation) based on
submitted report and course topics (see topics and learning objectives).

Criteria for exam assessment

See Learning Outcome.

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 16
  • Preparation
  • 12
  • Practical exercises
  • 24
  • Project work
  • 145
  • Guidance
  • 8
  • Exam
  • 1
  • English
  • 206


Course number
7,5 ECTS
Programme level
Full Degree Master

1 block

Block 1
No limit.
The number of seats may be reduced in the late registration period.
Study Board of Mathematics and Computer Science
Contracting department
  • Department of Computer Science
Contracting faculty
  • Faculty of Science
Course Coordinator
  • Fritz Henglein   (8-6d6a736c716a6e7345696e33707a336970)

Fritz Henglein, Martin Elsman, Thomas Jensen

Saved on the 30-06-2023

Are you BA- or KA-student?

Are you bachelor- or kandidat-student, then find the course in the course catalog for students:

Courseinformation of students