Teaching Quantum Computing With The QuIDE Simulato
Teaching Quantum Computing With The QuIDE Simulato
Abstract
Recently, the idea of quantum computation is becoming more and more popular and there
are many attempts to build quantum computers. Therefore, there is a need to introduce this
topic to regular students of computer science and engineering. In this paper we present a
concept of a course powered by the Quantum Integrated Development Environment (QuIDE),
the new quantum computer simulator that joins features of GUI based simulators with inter-
preters and simulation library approach. The idea of the course is to put together theoretical
aspects with practical assignments realized on the QuIDE simulator. Such an approach enables
studying a variety of topics in a way understandable for this category of students. The topics
of the course included understanding the concept of quantum gates, registers and a series of
algorithms: Deutsch and Bernstein-Vazirani Problems, Grover’s Fast Database Search, Shor’s
Prime Factorization, Quantum Teleportation and Quantum Dense Coding. We describe results
of QuIDE assessment during the course; our solution scored more points in System Usability
Scale survey then the other tool previously used for that purpose. We also show that the most
useful features of such a tool indicated by students are similar to the assumptions made on the
simulator functionality.
Keywords: quantum computing course, MSc program, computer science, simulator, SUS survey
1 Introduction
In the recent years the idea of quantum computation is really pushing forward as the significant
progress has been made in the field of constructing a quantum computer [14, 15]. The main
concept is to use of quantum-mechanical phenomena to perform operations on data considerably
faster than with classical computers. Thanks to the quantum parallelism, the ability of being in
a superposition of many states, quantum computers would be more powerful and much faster
than today’s conventional supercomputers [10]. The first commercially available machine, The
1724 Selection and peer-review under responsibility of the Scientific Programme Committee of ICCS 2015
c The Authors. Published by Elsevier B.V.
doi:10.1016/j.procs.2015.05.374
Rycerz, et. al
D-Wave OneTM , was presented in 2010 by the D-Wave System Inc1 . Therefore, the need to
teach computer science students how quantum computer operates becomes more and more
important. Especially, there is a need to introduce this topic to regular computer science
students, also those who focus their interests towards applied computer science or computer
engineering rather then theoretical areas.
In this paper, we present a new tool for teaching quantum computation – the Quantum
Integrated Development Environment (QuIDE) that was the main simulation software in the
course ‘Mathematics for Future Computer Systems’ on Master of Science Degree in Computer
Science at the Department of Computer Science at AGH University of Science and Technol-
ogy [1]. This course, besides of quantum computing, covers also selected topics from complex
systems and network science. Teaching such complex and ”exotic” topic as quantum compu-
tation requires a convenient and lightweight tool that helps to understand how the quantum
computer is actually working. Although many courses already exists [18, 24], none of them
propose usage of a simulator that illustrates and verifies pure mathematical assignments. In
our work, we propose to add a practical aspect by using a user friendly simulator that verifies
theoretical calculations. The preparation of this course became also a challenging task as most
of the general profile of the studies is not focused much on theory, but is oriented more towards
computer science engineering.
This paper is organized as follows: in Section 2 we present related work on the subject. In
Section 3 we briefly present concept of the course, Section 4 we describe an overview of the
QuIDE simulator and in Section 5 we explain how it was used for our course. We present
validation results in Section 6 and summarize in Section 7.
1 http://www.dwavesys.com
1725
Rycerz, et. al
1726
Rycerz, et. al
Figure 1: The main modules of the QuIDE simulator architecture joining GUI, interpreter and
simulation library approaches.
algorithms and combining them with classical code). Last but, not least, the simulator has to
be easy to obtain, to install and to run on computer labs and on students PCs or laptops.
Figure 1 shows how the main modules of the QuIDE architecture allow to combine approach
of GUI-based simulators with interpreters and simulation libraries. One of the main modules of
the QuIDE is the Interactive Circuit Designer that supports construction of quantum circuits
and their step-by-step execution. The internal quantum state is presented in the Quantum
State Preview during the simulation runtime. Users preferring interpreter approach can use Code
Editor that enables the user to program the simulations using quantum and classical operations.
The output of the code execution is shown in the Console Output window. Additionally, the user
is able to switch between the source code and the graphical circuit at any time of the designing
process. Both graphical and interpreter mode is supported by QuIDE Simulation Library with
defined API that can be also used standalone. The GUI screenshot of the simulator showing
the Circuit Designer, Code Editor and Quantum State Preview modules in action is shown in
Figure 2.
To fulfill both GUI and the core simulation module requirements we decided to choose one of
the most robust technologies which support both rich GUI design and complex numerical com-
putations – the Microsoft .NET Framework. The QuIDE core simulation library, QuIDE.dll,
is thus a standalone C# library. The GUI-based QuIDE simulator follows Model View View-
Model (MVVM) architectural design pattern and is a desktop application using WPF Windows
Presentation Foundation framework [27]). The full design of the simulator is described in [23].
1727
Rycerz, et. al
Figure 2: The Graphical User Interface of the QuIDE simulator with main componenents: Code
Editor, Circuit Designer and Quantum State Preview.
1728
Rycerz, et. al
(two qbit register). Next, they are asked to simulate their solution using QuIDE. Finally, they
are asked to simulate and analyse the behavior of a full Grover’s algorithm. As a result they
observe how the actual (lower then classical) complexity of the quantum search in an unsorted
base is obtained.
Shor’s Factorization This session is devoted to understanding Shor’s Prime Factorization
Algorithm [26], The students are asked to run the algorithm step by step in QuIDE simulator
and to observe internal changes in the registers of quantum computers. Additionally, they
are asked to use the Shor’s algorithm in the RSA encryption/ decryption with example small
keys. As the result, the students observe and understand the outcome of the particular steps
of Shors’ algorithm on the example and they also learn how quantum factorization is used in
RSA encryption/decryption.
Quantum transmission of information The last session covers various aspects of trans-
porting information using quantum entanglement namely the Quantum Teleportation [5] and
the Quantum Dense Coding [19] protocols. The students are asked to simulate both protocols
using QuIDE. As the result, they learn how these protocols work.
The summary of particular QuIDE features and their usage is shown in Table 1.
1729
Rycerz, et. al
The results of the survey conducted at the beginning of the course are presented in Figure 3.
QuIDE scored better than libquantum in every question, averagely by 1 point. It is a satisfying
Figure 3: Results of the initial SUS survey. The figure shows the average score obtained for
each question, with their standard deviation. The scores ranges from 0 (the worst rate) to 4
(the best). The ratings are received from a group of 31 students.
result because libquantum is a powerful simulation tool with extensive and simple API, as well
as having a good documentation.
Figure 4 compares the usability surveys of QuIDE conducted at the beginning and at the
end of the course. In the second survey, the students were asked to answer the same questions
about the usability of QuIDE as in the initial SUS survey. The results of the second survey
were slightly worse. The biggest decrease can be noticed for the first question. This result was
expected, since the course was ending and the students apparently did not plan to work with
quantum computer simulators in the near future.
Figure 5 presents the summarized results of SUS surveys. In the second survey, QuIDE
performed worse than in the first, but it is still better than libquantum.
The simulator was validated by executing various examples of different algorithms and by
comparing outputs produced by the simulator with theoretical ones. All the examples as well
1730
Rycerz, et. al
Figure 4: Results of the second SUS survey. The figure shows the average score obtained for
each question, with their standard deviation. The scores ranges from 0 (the worst rate) to 4
(the best). The answers are collected from a group of 57 students.
Figure 5: The average total SUS score achieved by libquantum and QuIDE in the two SUS
surveys. The figure shows the average scores and their standard deviations. Results were
obtained by summing the scores for all 12 questions and scaling the result to range from 0 (the
worst) to 100 (the best).
as solutions of the assignments given to the students were precisely checked beforehand. The
small bugs of the simulator were reported by the students on-line and corrected imidiatelly
after the report. The automatic update feature of the simulator allowed a convenient and fast
update to a new version of the software.
Apart from the SUS survey, the students were asked to describe the most useful features
and also to suggest improvements. The most useful features depicted by students in the survey
are: graphical interface and on-line switching between GUI and the code, step by step exe-
cution, support for a variety of different gates, support for building complex gates and gates
grouping. These features agree with our assumption on main quantum computation specific
1731
Rycerz, et. al
7 Summary
In this paper, we described a new concept of the course on quantum computing for the IT stu-
dents. The course joins two aspects: theoretical (based on lectures and assignments available
on the web 3 ) and practical supported by the QuIDE quantum simulator, which was especially
developed for that purpose. We described the features and the functionality of QuIDE and
explained how they are used in education to help students understand a variety of topics on
quantum computing. Our course do not focus on one aspect, but covers the most important
variety of topics from quite simple Deutch problem to more complicated Shor’s factoring algo-
rithm. Finally, we described results of QuIDE validation during the course. Our solution scored
more points in System Usability Scale survey then the libquantum library previously used for
that purpose. The most useful features asked by students in the survey are consistent with
our assumptions concerning the main QuIDE functionality. The improvements suggested by
students do not focus on the way the quantum computing is taught, but they are rather directed
towards general usability (such as support for different operating systems, more advanced code
editor features, syntax highlighting etc.) that could be extended in the future.
Acknowledgements This study was partly supported by the AGH grant no 11.11.230.124 and
by PLGrid Core project no POIG.02.03.00-12-137/13.
References
[1] AGH University of Science and Technology, Syllabus: Module Matematyka w informatyce przys-
zlosci, MSc students, fall semester, 2012.
[2] S. Aaronson and D. Gottesman. Improved simulation of stabilizer circuits. Phys. Rev. A, 70:052328,
Nov 2004.
[3] P. Belkner. Eqcs-0.0.8, Mar. 2012. Accessed May 10, 2014.
[4] C. H. Bennett and G. Brassard. Quantum cryptography: Public key distribution and coin tossing.
In Proceedings of IEEE International Conference on Computers, Systems, and Signal Processing,
page 175, India, 1984.
[5] C. H. Bennett, G. Brassard, C. Crépeau, R. Jozsa, A. Peres, and W. K. Wootters. Teleporting an
unknown quantum state via dual classical and einstein-podolsky-rosen channels. Phys. Rev. Lett.,
70:1895–1899, Mar 1993.
[6] E. Bernstein and U. Vazirani. Quantum complexity theory. SIAM J. Comput., 26(5):1411–1473,
Oct. 1997.
[7] J. Brooke. SUS - A quick and dirty usability scale. In P. W. Jordan et al., editors, Usability
Evaluation in Industry. Taylor and Francis, 1996.
2 http://dice.cyfronet.pl
3 http://www.lassp.cornell.edu/mermin/qcomp/CS483.html
1732
Rycerz, et. al
1733