Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Categories and Quantum Informatics (INFR11128)

This course will be closed from 31 July 2024

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 5 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis course is replaced by Introduction to Quantum Programming and Semantics (INFR11242) (QPS) from 2023-2024. This course will not be delivered during 2023-24, and will be officially closed from 31st July 2024.

There are several languages for programming quantum protocols. Each has its own strengths and weaknesses. This course surveys current platforms (OpenQAsm, Qiskit, Q#, Quipper, Quantomatic, and PyZX) and analyses their respective features semantically. The theoretical analysis uses category theory, a powerful mathematical tool in logic and informatics, that has influenced the design of many modern programming languages. It enables a powerful graphical calculus that lets you draw pictures instead of writing algebraic expressions. This technique is visually extremely insightful, yet completely rigorous. For example, correctness of protocols often comes down to whether a picture is connected or disconnected, whether there is information flow from one end to another. In a practical way, this course investigates the conceptual reasons why quantum protocols and quantum computing work, rather than their algorithmic and complexity-theoretic aspects.
Course description The course has two parallel tracks: a practical one, and a theoretical one. The practical track surveys different quantum programming platforms. These include OpenQAsm, Qiskit, Q#, Quipper, Quantomatic, and PyZX. We discuss their basic structure, strengths, and weaknesses. Via labs and live coding in lectures, students get hands-on experience of implementing small quantum programs. The emphasis is on the primitive programming constructs and structure of each language, not on large-scale quantum software development.

Simultaneously, the theoretical track analyses the features of each language in denotational semantics, focusing on monoidal categories. Via lectures and self-study reading, the course teaches students the basics of dual objects in monoidal categories. Specific attention is paid to the graphical calculus, which makes the topic visually apparent. Via exercise sheets, and their review incorporated into the contact hours, the student learns to graphically manipulate algebraic objects such as monoids and Frobenius structures. They will understand that this still allows perfectly rigorous proofs of correctness, and be able to see the information flow of a protocol that is often hidden behind superfluous details.

Throughout the course, the practical and theoretical material is linked. We will study notions typically thought to belong to quantum theory, such as entanglement, no-cloning, teleportation, and complementarity. It will turn out some of these notions also make perfect sense in other settings. For example, the very same categorical description of quantum teleportation also describes classical encryption with a one-time pad. We identify characteristics of classical and quantum information, aiming to equip students to choose the right tools and techniques for future problems they may encounter.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Categories and Quantum Informatics (UG) (INFR11232)
Other requirements MSc students must register for this course, while Undergraduate students must register for INFR11128 instead.

This course assumes the following prerequisite knowledge:
* Basic knowledge of linear algebra, vector spaces, and complex numbers, as well as experience with mathematical abstraction
* Basic programming skills in both imperative and functional languages (such as Python and Haskell) equivalent to 2 semesters of introductory programming.
Information for Visiting Students
Pre-requisitesAs above.
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  1. identify features of current quantum programming platforms
  2. model quantum protocols categorically and prove their correctness graphically
  3. apply and prove basic results about monoidal categories
  4. fluently manipulate the graphical calculus for compact categories
  5. differentiate between categories modelling classical and quantum informatics
Reading List
Categories for Quantum Theory: An Introduction by C. Heunen and J. Vicary, Oxford University Press, 2019.
Additional Information
Graduate Attributes and Skills Obtain, organise, and use factual, theoretical, and/or hypothetical information in problem solving
Make generalisations and predictions
Present and evaluate arguments, information and ideas routine to the subject
Undertake critical analysis, evaluation and synthesis of ideas and concepts within the common understandings of the subject
KeywordsCategory Theory,Quantum Computing,Semantics
Course organiserDr Christiaan Heunen
Tel: (0131 6)50 2865
Course secretaryMs Lindsay Seal
Tel: (0131 6)50 2701
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information