Hybrid Quantum Programming (HQP)

Course content

This course provides an introduction to state-of-the-art research on
*hybrid quantum-classical programming (HQP)*. Due to inherent limitations of quantum computers, addressing challenging real-world problems using quantum computers - now and in the future - will require a hybrid approach that combines massively parallel classical high-performance computing (HPC) on big data, with the delegation of classically intractable subproblems on relatively small data sets to quantum computers.

The course consists of introductory lectures, student seminar presentations, invited talks, and a (mini-)project phase. The lectures cover

 

  • introductions to functional programming and to quantum computing
  • introductions to quantum programming languages and calculi
  • inherent limitations of quantum computers and the need for combining quantum and classical high-performance computing
  • quantum programming with symbolic tensor product representations
  • Clifford algebras and stabilizers for quantum circuit simulation- high-level quantum-classical programming

 

The mini-projects cover topics on "post-NISQ" programming with logical (qu)bits and higher-level (quantum) data structures, such as

 

  • hardware-agnostic high-level programming combining quantum algorithms and classical data-parallel algorithms;
  • high-performance classical simulation of quantum computations;
  • intermediate languages for expressing, optimizing and approximating quantum computations;
  • code generation that targets a mix of quantum computers and GPUs.

 

 

The course focuses on portably expressing, optimizing, compiling, analyzing, and running (including simulating) arbitrary quantum-classical algorithms on mixed quantum and classical hardware. It complements other courses, such as on specific quantum algorithms, physically realizing logical qubits by quantum error correction, designing and building quantum hardware.

The course acquaints students with performing and communicating independent research in project form. The course consists of lectures and subsequent group-based (2-4 persons) mini-projects including seminar presentations.

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. The specific research topics proposed for the mini-projects reflect up-to-date research on quantum-classical programming as well as student and faculty interests.
 

Learning outcome

Knowledge of

  • functional programming techniques for defining and interpreting quantum programming languages
  • select quantum programming languages and calculi
  • the roles of quantum and classical computers for efficient computing- state vector, symbolic tensor and stabilizer representations for quantum simulation

 

Skills to

  • Discuss properties such as correctness and performance and define what they mean in the context of quantum-classical programming
  • Apply functional programming and algebraic implementation techniques to quantum programming
  • Read, assess and communicate research papers
  • Prepare and give a research presentation


Competences to

  • Identify opportunities quantum-classical program applications and seperation
  • Select a suitable programming language abstractions dialect to implement hybrid quantum-classical problems
  • Develop a given project proposal into a project plan, execute it, and present the results

The course progresses from teaching (lectures with exercises) to student seminar
presentations and finally a group mini-project, which is the basis for the oral exam:
▪ Lecture phase: lectures and exercises, formation of project groups (3 weeks)
▪ Seminar phase: seminar presentations by project groups (3 weeks)
▪ Project phase: project work by project groups (3 weeks)

Research articles and excerpts from books, distributed electronically.

See Absalon for a list of course literature.

The course is open to Master's degree students from computer science, quantum information science, mathematics, physics or similar programs. Introductions to the computer science, mathematics and theoretical physics background relevant to the course is given in the lectures at the beginning of the course.

Experience with programming using a high-level programming language such as Haskell or Python is highly recommended.

The following are courses that can, optionally, be taken concurrently with HQP:

Data Parallel Programming (UCPH)
Quantum Error Correction (UCPH)

These courses are optional, not required.

A precursor of the course was developed within the course Advanced Topics in Programming
Languages (ATPL).

ECTS
7,5 ECTS
Type of assessment
Oral exam on basis of previous submission, 30 min
Type of assessment details
Individual oral examination without preparation.
During the course the students will carry out a group-based mini-project resulting in a
co-authored report.
Format: An individual presentation of select parts of a group report (i.e. mini-project
report) followed by individual examination in the course topics (see topics and learning
objectives) with special emphasis on the
subject of the report the student has co-authored.
Aid
Only certain aids allowed (see description below)

For the project and written report: All aids allowed.
For the oral exam: only slides (on a computer), the project report and source code are
permitted.

Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners
Re-exam

Same as the ordinary exam.
If a student has not previously handed in a mini-project report this can be handed in as an individual mini-project report no later than 2 weeks before the reexamination date.

Criteria for exam assessment

See Learning Outcome
 

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 12
  • Preparation
  • 12
  • Exercises
  • 24
  • Project work
  • 96
  • Seminar
  • 48
  • Exam Preparation
  • 13
  • Exam
  • 1
  • English
  • 206

Kursusinformation

Language
English
Course number
NDAK26003U
ECTS
7,5 ECTS
Programme level
Full Degree Master
Duration

1 block

Placement
Block 2
Schedulegroup
A
Capacity
No limitation – unless you register in the late-registration period (BSc and MSc) or as a
credit or single subject student.
Studyboard
Study Board of Mathematics and Computer Science
Contracting department
  • Department of Computer Science
Contracting faculty
  • Faculty of Science
Course Coordinators
  • Fritz Henglein   (8-6d6a736c716a6e7345696e33707a336970)
  • Michael Kirkedal Thomsen   (10-7435727079726c6b6873476b7035727c356b72)
  • James Emil Avery   (5-637867747b42666b306d7730666d)
Saved on the 23-02-2026

Er du BA- eller KA-studerende?

Er du bachelor- eller kandidat-studerende, så find dette kursus i kursusbasen for studerende:

Kursusinformation for indskrevne studerende