nl en

Quantum Algorithms


Admission requirements

Assumed prior knowledge

To be able to follow the course, the students should have basic knowledge of mathematics and computer science. More specifically the course will strongly rely on:

  • working knowledge of basic linear algebra, including matrix manipulations;

  • working with complex numbers;

  • basics of algorithms and computational complexity theory.

Understanding of basics of computability theory (or mathematical theories of computation, e.g. Turing machines, lambda calculus) is beneficial. No previous knowledge in physics, quantum mechanics or quantum information is required.


Quantum computing is a relatively novel model of computation which has served as a hot buzz word in science writing for years. It is often singled out as one of the upcoming technologies which will revolutionize our world. Despite all the popularity and research efforts, the power quantum computing is still widely misunderstood and misrepresented. Moreover, very often it is claimed that for a genuine understanding of quantum computing one requires expertise in quantum physics; in this course you will see that this is not the case.
In this course you will learn:

  • what quantum computing is,

  • how quantum algorithms work, and

  • what quantum computers are actually useful for.

Throughout the course you will also have the possibility to write programs for a quantum computer and, conditions permitting, run your programs on a real quantum computer. The emphasis of the course is on quantum algorithm theory. This course will include formal analyses of quantum algorithms, proofs of correctness and separations, and is recommended for students with affinities towards mathematics and theoretical aspects of computer science.

Course objectives

The objective of this course is to provide the students with a clear overview of the basics of theoretical quantum computing , quantum algorithms and insights into the key applications of quantum computers.
At the end of the course, the successful student will:

  • know what quantum computing is, and how to simulate (small) quantum computations;

  • know the basic results regarding the computational power of quantum computers (complexity theory);

  • know examples of basic quantum algorithms and applications;

  • have a basic overview of modern trends in quantum computing, specifically progress in applications for near-term (shallow and noisy) quantum computers.

  • know how to apply basic quantum algorithms.

Interested students will also have hands-on experience in programming of basic quantum programs.


The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

  • Lectures

  • Tutorials

Course load
Total hours of study: 168 hrs. (= 6 EC)
Lectures: 26:00 hrs.
Tutorials: 26:00 hrs.
Projects and assignments: 116:00 hrs.

Assessment method

Students will be evaluated by means of two take-home assignments. The average score of the two-take home assignments carry 50% of the final grade, and a final mini-project (carries 50% of the final grade). 50% is the smallest passing grade.
In formulas: THA1, THA2 and MP denote the score for the first, second take home assignment and for the miniproject, respectively. Each score is between 0 and 100.
The final score is FIN = (THA1+THA2)/4 + MP/2, and 50 is passing.

The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.

Reading list

  • Nielsen and Chuang, Quantum computation and quantum information.

  • Links to extensive on-line literature to be provided during lectures.


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Lecturer: dr. V. Dunjko
Course announcements and additional materials will be provided on Brightspace.