Teaching quantum computing with an interactive textbook
James R. Wootton, Francis Harkins, Nicholas T. Bronn, Almudena Carrera Vazquez, Anna Phan, Abraham T. Asfaw
TTeaching quantum computing with an interactive textbook
James R. Wootton, Francis Harkins, Nicholas T. Bronn, Almudena Carrera Vazquez, Anna Phan, Abraham T. Asfaw
IBM Quantum (Dated: December 18, 2020)Quantum computing is a technology that promises to offer significant advantages during thecoming decades. Though the technology is still in a prototype stage, the last few years have seenmany of these prototype devices become accessible to the public. This has been accompanied by theopen-source development of the software required to use and test quantum hardware in increasinglysophisticated ways. Such tools provide new education opportunities, not just for quantum computingspecifically, but also more broadly for quantum information science and even quantum physics as awhole. In this paper we present a case study of one education resource which aims to take advantageof the opportunities: the open-source online textbook ‘Learn Quantum Computation using Qiskit’.An overview of the topics covered is given, as well as an explanation of the approach taken for each.
INTRODUCTION
Quantum information is an interdisciplinary field, pri-marily associated with the traditional disciplines ofphysics, mathematics and computer science. The teach-ing of quantum information science is strongly influencedby this, with introductory courses typically assuming anaudience of either physicists, mathematicians or com-puter scientists, and tailoring the content accordingly.For the physicists, there has also traditionally been alarge difference between theoretical and experimental ap-proaches: the former focussing on the theory and appli-cations, whereas the latter focussing on what it means tobuild a quantum bit.The many advances made in quantum computation inrecent years motivate the development of a new approachto education in this field. One that does not assume aspecific background, and which presents topics more interms of software and hardware than theory and experi-ment. The open-source online textbook ‘Learn QuantumComputation using Qiskit’[1] is one example of the ap-proaches taken over the last few years [2, 3] to addressthis issue.The textbook is inextricably linked with quantumhardware and software, allowing a hands-on approach. Itis tailored to the hardware provided by the
IBM Quan-tum Experience [4] which, at time of writing, providedpublic access to devices of up to 15 qubits via a cloudservice. The software framework for quantum computa-tion that it is tailored to is, of course,
Qiskit [5]. This isan open-source Python-based framework maintained byIBM Quantum.The initial construction of the textbook drew inspira-tion from two main sources. One is the set of tutorialsprovided as part of the IBM Quantum Experience at itslaunch in 2016 [6]. The other was a course given by oneof the authors at the University of Basel. This coursewas offered by the physics department for undergraduateand masters students, but could also be attended by stu-dents from other courses, including nanoscience and com-puter science. It was therefore conceived as an interdisci- plinary course, taking students from both a physics andcomputer science background and teaching them a topicwhich bridges the two. The course was developed overseveral years before the textbook was written, had manyimportant elements written while teaching that courseduring 2019, and was used as the basis for the course in2020.Given this origin, the textbook has been designed bothto enable self-study, and to provide a resource to educa-tors providing a university-level course on quantum com-putation. When discussing the intended audience of thetextbook in this paper, we will typically refer to a self-studying ‘reader’. However, the same considerations willalso apply to a student using the textbook as part of acourse.In this paper we summarize the content and approachtaken in each part of the textbook, typically with onesection devoted to each chapter.
CHAPTER 0: PREREQUISITES AND CHAPTER8: APPENDIX
The only prerequisite required to follow the book fromstart to finish is a basic familiarity with Python andJupyter notebooks. For readers who do not already havethis knowledge, a summary of the important concepts isprovided in the initial Chapter 0.For readers who prefer to skip to later chapters, such asthose on quantum algorithms, an appropriate knowledgeof linear algebra is very much a requirement. A completeaccount of all the linear algebra concepts that may berequired is therefore provided in the appendix. This isavailable for the reader to consult before dipping intolater chapters, or to refer to as and when necessary. a r X i v : . [ phy s i c s . e d - ph ] D ec THE OPENING SECTIONS
Introductions to quantum computing often begin withan equation such as a | (cid:105) + b | (cid:105) (1)This short equation contains a lot to unpack. The a and b are complex numbers. The + refers not to thefamiliar addition of primary school, but to addition ofvectors within linear algebra. The | (cid:105) and | (cid:105) are unitvectors which, even for a reader who is familiar with suchconcepts, are expressed using a very niche notation.Since this equation is so dense with technicalities, andso full of assumptions regarding prior knowledge, it wasdecided to use it sparingly within the first sections of theQiskit textbook. Instead, the aim is to begin in a waythat is more suitable to the many people who have aninterest in learning more about quantum computing, butwhose knowledge of complex numbers and linear alge-bra is non-existent or long-forgotten. Though this is notthe main target audience of the textbook as a whole, itwas nevertheless regarded that all audiences might ben-efit from the establishment of intuition and motivationbefore moving on to technicalities.With this in mind, the aim of the beginning of thetextbook is to do the following: • Establish how quantum computation differs fromstandard digital computation. • Give the reader enough information to do some-thing interesting with Qiskit, or the GUI interfaceof the IBM Quantum Experience. • Do the above without using or assuming knowledgeof linear algebra or complex numbers.These aims are specifically addressed in the two open-ing sections of the textbook,
The Atoms of Computation and
What is Quantum? . The Atoms of Computation
To achieve the first aim there is an important issue totackle: most people do not have a concrete idea of whatconventional digital computation is. They may have aconcept that it takes in information, processes it andthen outputs information. They may also know that theinformation is encoded in binary. However, this simpledescription arguably holds just as true for many quantumalgorithms as it does for convention digital computation.The difference is in the details of the process, and the ba-sic operations into which all tasks can be compiled. Mostaudiences will not be used to thinking of computation atthis ‘machine level’ description, in terms of Boolean logic gates. Whether the reader is an undergraduate physicist,computer scientist or a motivated layperson, it is neces-sary to get them into this mindset before beginning.A consequence of the third aim, particularly the avoid-ance linear algebra, is that the notion of superposition should be avoided at this initial stage. Though often usedin popular science accounts in hand-waving explanationsof quantum states being ‘two things at once’, superposi-tion specifically refers to the linear combination of statevectors (or wave functions). Without linear algebra, andwithout wanting to adopt a hand-waving approach, thisterm must be avoided until the relevant mathematicaltools are introduced.With these points in mind, the first section of theQiskit textbook is ‘The Atoms of Computation’. Thisseeks to get the reader thinking in terms of algorithmsusing the example of the standard addition algorithm.Even a reader who thinks they know nothing of algo-rithms should certainly recall this process of adding singledigit numbers in order to add numbers of arbitrary size.This familiar and accessible algorithm is then cast intobinary in order to introduce the most important Booleanlogic gates from the perspective of quantum computation:the
XOR and the
AND . These logic gates are expressed us-ing their quantum equivalents (the controlled-NOT andToffoli, respectively) as part of quantum circuits. At theend of this section, the reader should then have the abil-ity to understand the basics of classical computation, ofbinary and of expressing algorithms through gates, andeven be able to reproduce simple classical logic gates us-ing Qiskit.This section ends with a short justification of howquantum computation will differ from these simpleBoolean logic gates. However, it is not sufficient to fullysatisfy our first aim. To do this we must first ask thereader to choose how to proceed: with or without linearalgebra. Those who choose linear algebra should simplyproceed on to the next section. By the end of the firstchapter, they should have a firm grasp of the basics ofquantum computation, and how it differs from classicalcomputation. For those who are not yet ready for linearalgebra, we must find an alternative means to representsimple quantum states and gates. This is done in
HelloQiskit , which provides an interactive, game-based wayfor readers to become familiar with the basic principlesof quantum computing. Both these approaches are ex-panded upon in their corresponding sections below.
What is Quantum?
What is Quantum? is a short, standalone chapteraimed at beginners who are unfamiliar with quantumcomputing and are considering learning more. Unlikeother texts aimed at similar audiences, this chapter usesmathematics to describe the behaviours behind quan-tum computing. By including a mathematical approach,which is nevertheless constrained to concepts that shouldbe familiar to all readers, this chapter aims to providereaders with a concrete picture of the quantum phenom-ena exploited in quantum computing, and an idea of whatthe rest of the textbook involves.The chapter builds upon Scott Aaronson’s approach tointroducing quantum mechanics, with the “conceptualcore” of quantum mechanics being “a generalization ofprobability theory to allow minus signs” [7]. Aaronson’stext requires the reader have a certain level of mathemat-ical maturity (e.g. the reader should be comfortable withcomplex numbers and vectors), but
What is Quantum? requires only familiarity with probability trees, multipli-cation and square roots.Additionally, the chapter aims to familiarise the readerwith the scientific process of using a model to describebehaviours and modifying that model when it is unsuc-cessful.The chapter starts by reminding the reader of proba-bility trees. The chapter shows the reader how we cancreate a simple mathematical model of a coin toss usingthese trees and how we can use this model to predict theresults of different experiments. The interactive natureof the textbook allows the reader to simulate these ex-periments in their browser and confirm these predictions.The chapter then introduces the qubit as the ‘quan-tum coin’, i.e. a coin that follows the rules of quantummechanics. The Hadamard gate (referred to as the ‘quan-tum coin toss’) is introduced, and the reader encouragedto experiment with the quantum coin and use probabilitytrees to build a model of its behaviour. Upon the appli-cation of two Hadamard gates, quantum interference isobserved, and probability trees can no longer describe thebehaviour of the quantum coin. The reader is introducedto quantum mechanics as “probability theory with neg-ative numbers” which then allows us to build a workingmodel of the quantum coin.
CHAPTERS 1 AND 2: INTRODUCINGREQUIRED TOOLS AND TECHNIQUES
The aim of the first two chapters is to introduce ev-erything that a reader will need to know in order to un-derstand quantum algorithms. These are the core of thetextbook, and the parts that were most heavily based onthe original IBM Quantum Experience and the Univer-sity of Basel course.
Chapter 1
Following on from
The Atoms of Computation , the re-maining sections of Chapter 1 are written with the as-sumption that the reader has been taught linear algebra, but has not used those skills in some time. This will act asa compromise between the various different audiences, inorder to not be too slow for those who are well-practicedexperts at linear algebra, and yet still be accessible to asufficiently motivated newcomer who aims to the learnthe required maths along the way. This approach is alsotaken to account for the fact that quantum computinguses its own unique dialect of linear algebra, with itsown notation and a particular focus on certain methodsand techniques. It is possible for a reader’s linear alge-bra courses not to have prepared them for the particularideas that are used. This is something that has beenseen in many years of teaching interdisciplinary courseson quantum computing at the University of Basel: al-most all students had taken linear algebra courses, butthat did not mean that every use of linear algebra inthe course was second nature to them. Introducing themathematical concepts as we go along therefore providesthe most accessible introduction.In order to accommodate those readers who do nothave complete comfort with linear algebra, the first twochapters of the textbook teach readers just enough linearalgebra needed to cover the content of the algorithms inChapter 3. In teaching just enough, vectors are intro-duced only as lists of complex numbers, and more gener-alised ideas about vectors are ignored. It is hoped thatthe behaviour of vectors and matrices as seen throughthe behaviour of qubits and gates will help students whenlearning about more general vector spaces.To clarify the separation between mathematical pre-requisites and concepts that should be new to the readerwhen learning about quantum computing, the linear alge-bra material has been enclosed in expandable accordions,with the content hidden by default. Expandable accor-dions allow the readers that are comfortable with linearalgebra to avoid recapping familiar material and avoidconvoluting new content in the chapter.After two sections which introduce how quantum statesand gates can be expressed mathematically, Chapter 1ends by introducing another important mathematicaltool: complexity theory. This is the language in whichclassical and quantum computation are typically com-pared, and in which the notion of a quantum speedup isformulated. To introduce the required concepts from thisfield in an approachable manner, the algorithm for addi-tion introduced in the first section is analyzed in termsof the computational resources it needs.The chapter ends with a short justification of whyquantum computers might offer a speedup over their clas-sical counterparts. This is done in reference to wave par-ticle duality, since this is one of the most well-knownparts of quantum mechanics (even to a beginner). Withthis we can express that quantum computation is nei-ther of the standard forms of classical computation: dig-ital or analog. Rather, the idea of wave-particle dualitytranslates into a form of digital-analogue duality. Thoughadmittedly this is a relatively hand-waving explanation,it is beyond the scope of the first chapter to fully ex-plain the workings and potential of quantum computers.Instead, the aim of this explanation is to disabuse thereader of mistaken notions that they may have. Edu-cation in any part of quantum mechanics brings manymisconceptions [8–10]. Typical misconceptions specificto quantum computing are that a quantum advantageis possible somehow because of the randomness of quan-tum mechanics, or because superposition allows expo-nential parallelism, or that it is a form of computationthat is entirely different from those we already know. In-stead it shows that quantum computation is not simplya quantum enhancement of classical methods, but thatit is nevertheless a cousin to them.With this, the reader should be ready to find out ex-actly what quantum computation is.
Chapter 2
The aim of Chapter 2 is to introduce sufficient toolsand ideas to be able to explain and prove universalityas it relates to quantum computing. Universality showsthat quantum gates can perform any computation, andexplicitly defines what it means for a quantum computerto do everything a quantum computer can do. This re-quires an understanding of multiqubit states and gates,the nature and role of entanglement, as well as the meansby which gates can be combined to create complex effects.Universality is proven by introducing the unitary andHermitian matrices that are so important in quantumcomputing. Specifically, unitaries are shown to be theway in which inputs are mapped to outputs, and thatperforming any possible computation means realizing anypossible unitary. The Trotter-Suzuki method is then usedto show how the single and two qubit gates introducedso far can create any arbitrary multiqubit unitary.One consequence of universality is that a quantumcomputer is able to reproduce any classical computation,and do so with at least the same computational com-plexity. This fact is a useful one to point out, since itprovides a powerful demonstration of the general appli-cability of quantum computation. It is also crucial forquantum computation itself, where classical subroutinesare used in quantum algorithms. This chapter thereforeconcludes with a section on this topic, both to reinforcethe concept of universality and to prepare for the use oforacles in the next chapter.Once the reader knows about everything a quantumcomputer can do, they are ready to understand specificinstances. The next step is therefore to look at specificquantum algorithms.
CHAPTER 3: QUANTUM PROTOCOLS ANDQUANTUM ALGORITHMS
The
Quantum Protocols and Quantum Algorithms chapter aims to offer an alternative to static textbooks.It guides the reader through the theory of each algorithm(or protocol), and then shows the reader how they canimplement each of them in Qiskit. These introductoryalgorithms focus on building circuits at the gate levelto avoid hiding anything from the reader. The text oc-casionally borrows from Qiskit’s circuit library to sim-plify some steps and avoid convoluting the demonstra-tions (e.g. for oracles, or for circuits the reader shouldalready be familiar with), but this is used sparingly.The chapter begins by explaining the concept of quan-tum circuits: the central element of any quantum soft-ware. This is provided both as a recap for readers whohave followed all the chapters so far, and as a necessaryprerequisite for anyone who has skipped to this chapter.The chapter then moves on to examples of protocols withfeatures that are unique to quantum information, namelysuperdense coding [11], quantum teleportation [12] andquantum key distribution [13].At this point, we are able to introduce algorithmsfor which there is a provable quantum speedup. Thetwo most famous examples are arguably the factoringalgorithm by Shor [14] and the search algorithm byGrover [15], for which many concrete use cases havebeen proposed. Before these are introduced, however,simpler ‘proof-of-principle’ algorithms are covered: thoseof Deutsch-Jozsa [16], Bernstein-Vazirani [17] and Si-mon [18]. Though these lack the obvious practical usesof Shor’s and Grover’s algorithm, they provide concreteexamples of quantum speedups that are simple to explainand to implement in Qiskit.The chapter then moves on to Shor’s and Grover’s al-gorithms. It starts with the quantum Fourier transformand the quantum phase estimation algorithms that arerequired for factoring, and concludes with the quantumcounting algorithm that builds upon both Grover’s algo-rithm and quantum phase estimation. With these exam-ples and their relationships with each other, the readershould see how quantum algorithms are often built fromclever combinations of known techniques.
CHAPTER 4: QUANTUM ALGORITHMS FORAPPLICATIONS
The
Quantum Algorithms for Applications chapter isdivided into two parts. The first part covers algorithmsapplied to real world problems, while the second part isfocused on more recent developments and is meant to bea living document kept up to date with the field.Each subsection follows a similar structure, starting byexplaining the theory of the algorithm and then showinghow to implement it with Qiskit on a specific example,sometimes going as far as running a problem on a quan-tum device.The chapter can be viewed as a collection of quantumalgorithms which can be read in a nonlinear fashion orskipped altogether. The algorithms presented belong totopics ranging from chemistry to machine learning, andwhile the textbook tries to incorporate as much back-ground as possible, it cannot be taken as a rigorous in-troduction to each topic.The first quantum algorithm introduced is the HHLalgorithm [19], a quantum algorithm to solve systems oflinear equations and which is used as a building block ofseveral other algorithms, mostly within machine learning.The main building block of the algorithm is quantumphase estimation, which was already introduced in theprevious chapter.The following subsection explains the VariationalQuantum Eigensolver (VQE) [20] applied to the prob-lem of finding the ground state energy of a molecule.Roughly the idea is to use parametrized shallow circuitsand a classical optimizer with a cost function, used to up-date the parameters of the quantum circuits. The mainadvantage of VQE is that its shallow circuits can be runon near-term quantum devices, and is therefore a hotarea of research.Afterwards comes the Quantum Approximate Opti-mization Algorithm (QAOA) [21] to solve combinatorialoptimization problems, where the goal is to find a solu-tion to a problem that minimizes (or maximizes) somecost function. QAOA can be applied to a wide variety ofproblems, and in the textbook the reader is introducedto MAXCUT and MAX 3-SAT as illustrative examples.However, it should be noted that this is a heuristic al-gorithm, meaning that there are no performance guaran-tees.In the previous chapter, the reader was introduced toGrover search, and now they are shown to apply it tosolve satisfiability problems. Here we are interested on,given a Boolean formula, deciding whether it is possibleto replace the variables by the values TRUE or FALSEsuch that the formula evaluates to TRUE.The first section concludes with hybrid quantum-classical neural networks, which are implemented by in-tegrating Qiskit and PyTorch, an open-source machinelearning framework. The goal of the hybrid approachcan be to enhance classical algorithms by outsourcing dif-ficult computations to the quantum computer, or to opti-mize quantum algorithms using classical machine learn-ing. The purpose of this subsection is to demonstrate theease of integrating both software packages and encourageresearch on exploring the possibilities of quantum in ma-chine learning.Finally, at the time of writing this manuscript, thesecond part of the chapter contains one algorithm: theVariational Quantum Linear Solver (VQLS) [22]. VQLS is a quantum algorithm aimed at solving systems of linearequations, as HHL, but using VQE as its building block.Both HHL and VQLS share the same output, and whileHHL obtains a much better speedup than VQLS, thelatter can be run on near-term quantum computers.
CHAPTER 5: INVESTIGATING QUANTUMHARDWARE USING QUANTUM CIRCUITS
Most chapters of the textbook focus on the potentialadvantages of current hardware. This chapter insteadfocuses on the imperfections, as well as how to detectthem, characterize them and mitigate their effects.The chapter begins with an introduction to the con-cept of quantum noise and how to detect and correct itusing quantum error correction. This is done using therepetition code, whose classical nature has the advantageof being easy to explain and understand. However, thissame nature also has the disadvantage of not being fullyuseful to detect and correct quantum errors. As such,the repetition code is not introduced as a way to cor-rect errors in itself, but instead as a way to test some ofthe techniques and assumptions behind all quantum errorcorrecting codes. A variant of this section has been pub-lished as a paper in its on right, outlining this approachto benchmarking near-term devices with quantum errorcorrection [23]. Additional sections are planned in fu-ture to expand upon quantum error correction and howit enables fault-tolerant quantum computation.In the near-term, removal of the effects of errors inquantum computation will be done by error mitigationtechniques, rather than fully-fledged quantum error cor-rection. The next section is therefore to introduce sucha technique as an example. The technique used for mea-surement error mitigation serves as a useful pedagogicalexample, since it is essentially based on comparisons ofthe histograms obtained as the output of quantum cir-cuits. This allows an introduction to the concept of errormitigation, without requiring complex analysis of quan-tum processes.The final sections introduce standard techniques forbenchmarking quantum hardware: randomized bench-marking [24] and the quantum volume [25]. These pro-vide examples of two extremes, with randomized bench-marking providing a characterization of individual gates,and the quantum volume providing an analysis of a de-vice as a whole.All the topics covered in this chapter correspond totools available within Qiskit. As well as teaching thetopics themselves, these sections also demonstrate how touse the tools in Qiskit. The aim of this chapter is there-fore the enable a reader to benchmark quantum hardwarefor themselves, and to fully understand the results.
CHAPTER 6: INVESTIGATING QUANTUMHARDWARE USING MICROWAVE PULSES
The majority of the textbook explains quantum com-putation at the gate level. This allows us to focus on theapplications to computation, and means we only needto introduce concepts from quantum mechanics that arerelevant to the gates being used. The underlying quan-tum hardware is mostly treated as a ‘black box’, and thephysical systems and effects used to create the gates arenot explicitly mentioned. This is true even in the pre-vious chapter, where the effects of imperfections in theunderlying hardware are discussed and measured withinthe context of gates.For much of the target audience of the textbook, thisblack box approach will be entirely appropriate. How-ever, greater understanding of the hardware will be veryimportant to many readers. The most prominent exam-ples are physicists, whose interest in quantum computingmay lie more with the hardware than the applications itcan be used for. This chapter is therefore devoted to mi-crowave pulse-level access to quantum hardware, whichexplains the low level manipulations from which quantumgates are built.Starting in 2019, Qiskit Pulse provides users of theIBM Quantum Experience microwave pulse-level accessto to certain quantum hardware backends [26, 27]. Thislevel of access allows the user to perform the experimentsnecessary for calibration of transmon qubits [28] and ex-plore their device physics in a circuit quantum electro-dynamics (cQED) architecture [29, 30]. This chapter ex-plains these calibration procedures and transmon physicsthat can be performed with Qiskit Pulse, as well as use-ful calculations and techniques that are drawn from dis-parate sources.The first section describes how to find the transitionfrequency of a qubit by using a two-tone spectroscopytechnique, the physics of which is described later, inwhich the frequency response of the readout resonator ismonitored to determine the frequency at which a qubitpulse excites the transmon from the ground state. Thisis followed by a Rabi experiment in which the qubit isdriven around the Bloch sphere by pulses of different am-plitudes to determine that at which the qubit is drivento the | (cid:105) state, a so-called π -pulse because it representsthe amplitude at which the qubit is rotated by π radi-ans (180 ◦ ) around an axis in the xy -plane of the Blochsphere. The qubit relaxation time ( T ) is then deter-mined by an inversion recovery experiment in which thequbit is excited to the | (cid:105) state followed by various waittimes to determine the residual probability that the qubitremains excited, and T is determined as the time con-stant of this exponential spontaneous decay. Ramsey ex-periments, which consist of a π/ | (cid:105) and | (cid:105) followed by timeevolution and another π/ | (cid:105) and | (cid:105) states, this provides informationabout off-resonant drive (which manifests as an uninten-tional Z -rotation) and dephasing (in the decay constant T ∗ ). Dynamical decoupling achieved by inserting an echo( π/ T , the standardmetric reported by IBM backends. (Note the historicaldifferences between T and T ∗ arise from developmentsin the field of nuclear magnetic resonance [31]).The following section uses meas level=1 data fromQiskit Pulse to measure and discriminate different trans-mon states in the IQ -plane. This in-phase/quadrature-phase plane is the microwave engineer’s version of thecomplex plane. After determining the qubit frequencyand π -pulse amplitude, as performed in the previous sec-tion, a readout discriminator is built from analysis of themeasurement points (shots) in the IQ -plane by prepar-ing the qubit in the ground or excited state. Similarly,higher levels of the transmon are determined (i.e., the | (cid:105) state) by two-tone spectroscopy and Rabi experiments,but with the transmon initially prepared in the | (cid:105) stateto determine the | (cid:105) → | (cid:105) transition frequency and am-plitude of the π -pulse corresponding to that transition.Analysis of measurements in the IQ -plane performed af-ter preparing the transmon in the | (cid:105) , | (cid:105) , or | (cid:105) thenprovides the basis for discrimination between them.The third section describes the quantization of electri-cal circuits using the branch-flux method and applies it toboth the quantum harmonic oscillator (QHO) and trans-mon qubit [32–36]. From the quantized Hamiltonians,the difference between the energy levels of the QHO andtransmon is made apparent, which provides the trans-mon the anharmonicity required to address the groundand first excited states as the | (cid:105) / | (cid:105) quantum compu-tational basis using the qutip package (which is providedas part of pip install qiskit ). Then, neglecting thecomplications of the cQED architecture for pedagogicalreasons, qubit drive and the (commonly-used) rotating-wave approximation are introduced to explain the physicsof the Rabi and Ramsey experiments of Section 1.The fourth section introduces the Jaynes-Cummings(J-C) Hamiltonian, the simplest description of two inter-acting quantum systems, in this case a qubit and res-onator. This is followed by the Schrieffer-Wolff (S-W)transformation, a common technique to derive an effec-tive Hamiltonian by block-diagonalization [33, 37]. TheS-W transformation is then applied to the J-C Hamil-tonian to describe the qubit and resonator as separatequantum systems “dressed” by their interaction. Thisis presented interactively by using the symbolic Pythonpackage sympy (which is also provided as part of pipinstall qiskit ). The S-W is then applied to the fulltransmon Hamiltonian, but with many of the calcula-tions omitted for brevity, as this goes beyond eitherthe capabilities of sympy and/or the author’s ability touse it. A consideration of qubit drive, but now in-cluding the cQED architecture neglected in the previ-ous section is then derived. The similar case of apply-ing the S-W transformation to two qubits coupled by amicrowave resonator yields the cross resonance Hamilto-nian, the native entangling operation for IBM Quantumbackends, where it should be noted that full extensionto two transmons brings the reader to an area of activeresearch [38, 39]. The following two sections explore theeffective J-C Hamiltonian derived in the dispersive limit,which explains how the presence of the qubit “dresses”the resonator and vice-versa. The resonator frequency ismeasured with a frequency sweep with both a high andlow amplitude pulse to determine the linewidth, disper-sive shift, and qubit-resonator coupling strength. Con-versely, the ac Stark (frequency) shift of the qubit andqubit linewidth broadening is observed as a function ofaverage number of photons in the resonator.The final section explores the measurement of inter-action rate coefficients in the cross resonance drive viaHamiltonian tomography [40]. From the block-diagonalcross resonance Hamiltonian, expressions for the timeevolution of operators is derived to explore the Pauli ex-pectation values as a function of time depending on thestate of the control qubit, which shows how the targetqubit evolves around the Bloch sphere with the appli-cation of the cross resonance drive. The Hamiltoniantomography experiment is run on the PulseSimulator with a Duffing oscillator model built from parameters ofa real backend because multi-qubit backends with Pulseaccess are not openly available at the time of this writing.The interaction rates are then calculated from fits to thesimulated data, followed by similar simulation but witha phase shift in the cross resonance pulse to maximizethe ZX interaction coefficient. The ZI interaction rateis then determined from a Ramsey experiment to see theac Stark shift of the control qubit (now due to the crossresonance drive), and is then corrected by the subsequentapplication of a frame change [41]. CHAPTER 7: EXERCISES
It is usual for textbooks to include exercises which helpthe reader to test their newly acquired knowledge, andwhich can be used as the basis for exercise sessions incourses based on the textbook. Since a course on quan-tum computation at the University of Basel was one ofthe starting points of the textbook, the exercises fromthis course were considered as an initial set of exercisesfor the textbook. However, the majority of these exer-cises were primarily applications of linear algebra, withno need of or reference to Qiskit. They also could not eas-ily be adapted to an interactive form, which would allowfor the textbook to provide feedback on solutions. It was therefore decided that the Qiskit-based and interactivity-compatible exercises would be prioritised. These are thethree exercises included in Chapter 7, which are basedon the topics of Chapter 1. Two of these use ideas fromSection 1.2, challenging the reader to construct classicallogic gates from their quantum equivalents. The other isbased on ideas of gate synthesis, which are built upon inChapter 2.These three exercises are not enough for an entire text-book, or even for Chapter 1 on its own. As such, smallexercises are included throughout the main text, as wellas an extensive set of puzzles in the
Hello Qiskit game ofSection 9.1. Interactive code examples also allow for ex-perimentation to test out new knowledge. Nevertheless,developing a more thorough approach to exercises is oneof the main tasks that will be pursued in the near future.
CHAPTER 9: GAMES AND DEMOS
The early history of computer games was dominated bygames being used for educational purposes, or to show-case and demonstrate the new technology. It is natu-ral to consider the same approach for quantum com-puting. There have been multiple recent gamified ap-proaches for quantum physics including animations [42],games that help to teach quantum concepts [43–45] andeven game-based citizen-science projects which help par-ticipants contribute to research [46]. in this spirit, andmaking use of the interactive nature of the textbook, achapter is included for educational games and demon-strations.
Interactive demos
Interactive demonstrations are not limited to thischapter, but can also be found throughout the textbook.The ability to run all these is provided by the ‘Interac-tivity Index’ section within this chapter.A key feature of the textbook is that it uses Qiskit toprovide practical demonstrations and experiments thatcannot be found in traditional textbooks. The benefitof learning through Qiskit over traditional textbooks isthat students can easily test their own hypotheses aboutthe behaviour of quantum computers, and shorten thefeedback loop between hypothesis, experiment and result.To enhance this further, the textbook website (through
Thebe [47]) enables readers to run Qiskit code directly onthe website without needing to install Python, Qiskit, orany other required packages, and with relevant code al-ready run. In a reading group, it was noticed that readerswould often like to see the effect of changing a variable,or to further uncover the behaviour of the examples byprinting values at different points throughout the code.Without the active code, this would require setting upa separate environment, installing any necessary depen-dencies, copying the correct code from previous pointsin the notebook to ensure the environment is setup cor-rectly and all functions and variables are correctly de-fined, just so the reader can see the effects of a smallchange. To allow this behaviour, small changes in theway code is presented had to take place. For example,we avoided splitting logical blocks of code into separatecells, as changing and running multiple cells can lead toconfusion and errors; readers would change a line in onecell, but forget to run preceding cells that reset variablesrequired for that logical block. Overwriting behaviourof defined functions was also avoided, so that their def-initions do not change at different points in the page.This avoids unexpected behaviour when running cells indifferent orders.Finally, interactive python code allows for the inte-gration of widgets through Jupyter widgets [48]. Thesewidgets can be created quickly and make use of Qiskitto simulate quantum computers. One example is theDeutsch-Jozsa algorithm widget. This allows readers toeasily simulate the different steps of the Deutsch-Jozsaalgorithm, and follow along with the state of the quan-tum computer at points in the algorithm. The steps canbe applied in any order, which encourages readers to re-call the steps of the algorithm, but more importantly toapply them in different orders and observe the effects.The number of qubits in the algorithm, and the problemoracle can both be changed to provide many differentinstances of the same problem.
Hello Qiskit
The game
Hello Qiskit is a variant of the app the
HelloQuantum , which was developed as collaboration betweenIBM and the University of Basel and specifically engi-neered to provide a gamified introduction to the IBMQuantum Experience.
Hello Quantum was intended as a simple puzzle gamethat can be played by anyone, without any need for priorknowledge about quantum computing. It is based on avisualization of two qubit states and gates, which pro-vide an alternative to linear algebra for reasoning aboutand understanding two qubits. By completing the game,and by revisiting puzzles to attempt optimal solutions,the player would naturally develop an intuition for howthe game is played. This intuition can then be used as astarting point for explaining the quantum context behindthe game, which is done by supplying background mate-rials [49] to those players who are interested in learningmore. These materials explain how the game states andoperations relate to those of qubits, and aim to turn theplayer’s game-based intuition into concrete knowledge ofquantum computing. As such, though the game itselfdoes not teach anything about quantum computing, it creates a context to help people learn.For
Hello Qiskit , the version that is included in thetextbook, the same visualization is used and the aim isstill to provide the player with useful intuition. How-ever, explanations are interspersed throughout the puz-zles rather than being left to the end. Specifically, thepuzzles typically have an intro and outro to first explainwhat will be tackled in the puzzle and then consolidatethis after the puzzle is complete.The topics covered by
Hello Qiskit reflect many ofthose covered in the first two chapters. It starts withbasic notions about bits, and then introduces their quan-tum version. It also introduces a universal set of singleand two qubit gates. For the case of non-Clifford gates, amodified form of the
Hello Quantum visualization is usedwhich makes a link to the well-used Bloch sphere visu-alization. The puzzles provide an opportunity for play-ers to understand common tricks for combining quantumgates, such as converting between cz and cx gates, turn-ing around cx gates and making swap gates. Through-out, the player is able to see the circuit visualization ofthe circuits they are creating in the game and standardQiskit terminology is used. The game then concludeswith an explanation of Bell’s inequalities, which guidesthe player to create their own experiment to demonstratethe unique nature of quantum variables. QiskitGameEngine
Another way to learn computation through games is toactually make a game. Creating a simple game can pro-vide an interesting and engaging first task when learningabout any new computing concepts [50]. For that reason,the textbook includes a very simple game engine, inspiredby other simple or education-orientated systems such asthe BBC Micro:Bit [51], PewPew [52] and PICO-8 [53].The games run directly in the textbook, with Jupyterwidgets providing both the screen and buttons. Gamesare written by addressing individual pixels and buttons.This results in games that are necessarily very limited,with very simple graphics and controls. These limita-tions therefore encourage the reader to focus on findingclever ways to use Qiskit in the games, rather than beingdistracted by complex graphics or gameplay.To introduce this game engine, a section in this chaptergives a simple example of procedural terrain generationusing quantum computation, which is an application thathas recently begun to be explored [54, 55]. The methodpresented in this case is one designed specifically for edu-cation: it uses just a single qubit, and therefore serves asa hands-on way of using and understanding single qubitgates.
USAGE DATA
Using data on views and referrals for each page withinthe textbook, we can build up an idea of how it is beingused. Due to an expansion of the textbook that con-cluded in summer of 2020, we will focus on data fromthe second half of the year. Within that timeframe is the
Qiskit Global Summer School in July, as well as the firstportion of the academic year in many countries. As muchas possible, these will be analysed separately in order tocapture different profiles of usage.In Fig. (1) we see how the views to the textbook aredistributed among the chapters, with the ‘What is Quan-tum?’ section and preface listed separately. The largenumber of views for the preface is due to this being thelanding page of the site. Otherwise, the most viewedchapters are 1 and 3. For the former, this is becauseChapter 1 is the beginning of any reader’s linear progressthroughout the textbook. For the latter, it will be be-cause the algorithms explained in Chapter 3 will be themain point of interest for most readers, presumably lead-ing many to skip straight there or refer back often. Thefact that Chapter 1 is the most viewed during the latterpart of 2020, whereas Chapter 3 was most viewed duringthe summer school, is likely due to the summer schooloffering lectures which paralleled but did not explicitlyfollow Chapters 1 and 2.
FIG. 1. These graphs show the percentage of total page viewsfor each chapter. The data for the Qiskit summer schoolcovers 20th-31st July 2020.
These views are further broken down by section inFig. (2). For the main linear part of the textbook, whichruns from Sections 1.3 to 2.5, we see a definite decayof views. This suggests that readers are indeed follow-ing this linearly, and so later sections are reached by less viewers than earlier ones. Significant dips are seen at 1.5and 2.1, likely because these are primarily short motiva-tional recaps before pressing on with the technicalities ofChapter 2.Chapter 3 does not show the same view decay as thelinear part, and these sections typically have at least asmany views as the end of the linear part. This suggeststhat not all readers of Chapter 3 have read the linear part,and that they do not read Chapter 3 linearly. A lack oflinear reading is also seen in the later, more technicalchapters.
FIG. 2. These graphs show the percentage of total page viewsfor each section. Chapters are shown in alternating coloursfor clarity. The data for the Qiskit summer school covers20th-31st July 2020.
This can also be seen in Fig. (3), which shows the re-ferral data for views of certain sections. Though mostreferrals come from readers navigating the textbook it-self, around a quarter of referrals to Chapter 3 come fromsearch engines. Indeed, the single URL that makes themost referrals is google.com. This is in start contrast toChapter 1 for which around three quarters of referralscome from the textbook itself, with the preface as thesingle biggest contributor.Another notable peak in Fig. (2) is that for 8.1, theappendix on linear algebra. Most referrals to this comefrom the introduction to Chapter 1, which links to theappendix and states “This chapter will be most effec-tive for readers who are already familiar with vectorsand matrices. Those who aren’t familiar will likely befine too, though it might be useful to consult our In-troduction to Linear Algebra for Quantum Computingfrom time to time.” Some of these views may thereforecome from readers who open 8.1 alongside 1.2 when pro-gressing through. This section also has a high number0of referrals from IBM-related domains, due to it being arecommended resource for some online events. This sec-tion is therefore a significant part of the textbook, as itseems that many either use it as a short cut to to laterchapters, or refer back to it for a recap of linear algebra
FIG. 3. These graphs show types of referral to three partsof the textbook (Chapter 1, Chapter 2 and Section 8.1). Ineach case, the single URL with the most referrals is shownseparately to others of the same type.
Since the introductory part from Sections 1.3 to 2.5 isexpected to be followed linearly, it would be interesting todetermine the completion rate. As an estimate for this,we can look at the ratio of views for its final section toits initial section. This is shown in Fig. (4) using weeklyaverages from July-November 2020. The total number ofviews for section 1.3 in those weeks is also shown. Theratio is typically around 20%, but interestingly showsdips during the same weeks as there are peaks for theviews of Section 1.3. These are correlated with two majoronline events which referred to the textbook but did notrequire this the 1.3-2.5 introduction to be followed. Itis not known how this value compares to introductionsof similar length in other online textbooks. However,it can be noted that the ratio of 20% is similar to the read ratio of many of the most viewed articles within theQiskit blog, such as the background information for
HelloQuantum [49], despite the textbook being a much longerand more technical text.
FIG. 4. The top graph shows the ratio of views for Section2.5 to views for Section 1.3 for weeks from July-November2020. The bottom graph shows the total number of views forsection 1.3 in those weeks, expressed as a percentage of thetotal views for the period.
CONCLUSIONS
The textbook ‘Learn Quantum Computation usingQiskit’ has been used by many people since its initiallaunch in mid-2019. These have included self-learners,lecturers and organizers of events based on quantum com-puting. Though we have not revealed specific usage num-bers here, they are at a level which convinces us to con-tinue and expand the hands-on quantum software-basedapproach used.One of the main principles behind the textbook was tonot assume complete fluency with the required linear al-gebra. A tailored introduction to the required concepts istherefore introduced in Sections 1.3 to 2.5. The evidencein the usage data that a significant proportion of readersdo indeed go through these sections linearly shows thatthis approach is indeed well-justified. However, the sig-nificant number of views for the linear algebra appendixin Section 8.1 also shows that a significant proportionof readers wish to attempt the short cut. This demon-strates that any attempt to teach the basics of quantumsoftware must explicitly cater both those who are fluent1in linear algebra, as well as those who wish to learn asthey go.The usage data also shows that improvements can bemade in the dynamics of the textbook: Such as improv-ing the completion rate of the linear introductory sec-tions, helping guide the reader through the rest of thetextbook upon completion of the introductory sections;guiding those who enter later chapters from search en-gines to the introductory sections, and providing a con-crete reading order for readers whose background doesnot require the introductory sections. For readers follow-ing a course based on the textbook, this structure will beprovided by the course itself. However, more guidance isrequired to help different profiles of self-learner.
ACKNOWLEDGEMENTS
The textbook is the work of over 100 contributors, as isthe Qiskit framework on which it is based. The authorswould therefore like to thank the entire Qiskit commu-nity, without whom the textbook would not be possible. [1] A. Asfaw, L. Bello, Y. Ben-Haim, S. Bravyi, L. Capelluto,A. C. Vazquez, J. Ceroni, J. Gambetta, S. Garion, L. Gil,et al.,
Learn quantum computation using qiskit (2020),URL https://qiskit.org/textbook .[2] M. Mykhailova and K. M. Svore, in
Proceedings of the51st ACM Technical Symposium on Computer ScienceEducation (Association for Computing Machinery, NewYork, NY, USA, 2020), SIGCSE ’20, p. 1019–1025,ISBN 9781450367936, URL https://doi.org/10.1145/3328778.3366952 .[3] S. E. Economou, T. Rudolph, and E. Barnes,
Teach-ing quantum information science to high-school and earlyundergraduate students (2020), 2005.07874, URL http://arxiv.org/abs/2005.07874 .[4]
IBM Quantum Experience , URL https://quantum-computing.ibm.com .[5] Qiskit Contributors,
Qiskit: An open-source frameworkfor quantum computing (2019).[6]
IBM Quantum Experience User Guides , URL https://github.com/qiskit-community/ibmqx-user-guides .[7] S. Aaronson,
Quantum Computing since Democri-tus (Cambridge University Press, USA, 2013), ISBN0521199565.[8] D. F. Styer, American Journal of Physics , 31(1996), https://doi.org/10.1119/1.18288, URL https://doi.org/10.1119/1.18288 .[9] G. Passante, P. J. Emigh, and P. S. Shaffer, Phys. Rev.ST Phys. Educ. Res. , 020111 (2015), URL https://link.aps.org/doi/10.1103/PhysRevSTPER.11.020111 .[10] B. Modir, J. D. Thompson, and E. C. Sayre, Phys.Rev. Phys. Educ. Res. , 020146 (2019), URL https://link.aps.org/doi/10.1103/PhysRevPhysEducRes.15.020146 . [11] C. H. Bennett and S. J. Wiesner, Phys. Rev. Lett. , 2881 (1992), URL https://link.aps.org/doi/10.1103/PhysRevLett.69.2881 .[12] C. H. Bennett, G. Brassard, C. Cr´epeau, R. Jozsa,A. Peres, and W. K. Wootters, Phys. Rev. Lett. , 1895 (1993), URL https://link.aps.org/doi/10.1103/PhysRevLett.70.1895 .[13] C. H. Bennett and G. Brassard, Theoretical ComputerScience , 7 (2014), ISSN 0304-3975, theoretical As-pects of Quantum Cryptography – celebrating 30 years ofBB84, URL .[14] P. W. Shor, in Proceedings 35th Annual Symposium onFoundations of Computer Science (1994), pp. 124–134.[15] L. K. Grover, in
Proceedings of the Twenty-Eighth AnnualACM Symposium on Theory of Computing (Associationfor Computing Machinery, New York, NY, USA, 1996),STOC ’96, p. 212–219, ISBN 0897917855, URL https://doi.org/10.1145/237814.237866 .[16] D. Deutsch and R. Jozsa, Proceedings of the Royal Soci-ety of London Series A , 553 (1992).[17] E. Bernstein and U. Vazirani, SIAM J. Comput. ,1411–1473 (1997), ISSN 0097-5397, URL https://doi.org/10.1137/S0097539796300921 .[18] D. R. Simon, in Proceedings of the 35th Annual Sym-posium on Foundations of Computer Science (IEEEComputer Society, USA, 1994), SFCS ’94, p. 116–123,ISBN 0818665807, URL https://doi.org/10.1109/SFCS.1994.365701 .[19] A. W. Harrow, A. Hassidim, and S. Lloyd, Phys. Rev.Lett. , 150502 (2009), URL https://link.aps.org/doi/10.1103/PhysRevLett.103.150502 .[20] A. Peruzzo, J. McClean, P. Shadbolt, M.-H. Yung, X.-Q.Zhou, P. J. Love, A. Aspuru-Guzik, and J. L. O’Brien,Nature Communications , 4213 (2014), 1304.3061.[21] E. Farhi, J. Goldstone, and S. Gutmann, arXiv e-printsarXiv:1411.4028 (2014), 1411.4028.[22] C. Bravo-Prieto, R. LaRose, M. Cerezo, Y. Sub-asi, L. Cincio, and P. J. Coles, arXiv e-printsarXiv:1909.05820 (2019), 1909.05820.[23] J. R. Wootton, Quantum Science and Technology , 044004 (2020), URL https://doi.org/10.1088%2F2058-9565%2Faba038 .[24] E. Magesan, J. M. Gambetta, and J. Emerson, Phys.Rev. A , 042311 (2012), URL https://link.aps.org/doi/10.1103/PhysRevA.85.042311 .[25] A. W. Cross, L. S. Bishop, S. Sheldon, P. D. Na-tion, and J. M. Gambetta, Phys. Rev. A ,032328 (2019), URL https://link.aps.org/doi/10.1103/PhysRevA.100.032328 .[26] D. C. McKay, T. Alexander, L. Bello, M. J. Bier-cuk, L. Bishop, J. Chen, J. M. Chow, A. D. C´orcoles,D. J. Egger, S. Filipp, et al., Qiskit Backend Spec-ifications for OpenQASM and OpenPulse Experiments (2018), 1809.03452, URL http://arxiv.org/abs/1809.03452 .[27] T. Alexander, N. Kanazawa, D. J. Egger, L. Capelluto,C. J. Wood, A. Javadi-Abhari, and D. C. McKay,
QiskitPulse: Programming Quantum Computers Through theCloud with Pulses , arXiv:2004.06755v1.[28] J. Koch, T. M. Yu, J. M. Gambetta, A. A. Houck,D. I. Schuster, J. Majer, A. Blais, M. H. Devoret,S. M. Girvin, and R. J. Schoelkopf, Physical Review A , 042319 (2007), URL http://link.aps.org/doi/10. .[29] A. Blais, R.-S. Huang, A. Wallraff, S. M. Girvin, andR. J. Schoelkopf, Physical Review A (2004), URL http://link.aps.org/doi/10.1103/PhysRevA.69.062320 .[30] A. Wallraff, D. I. Schuster, A. Blais, L. Frunzio, J. Majer,S. Kumar, S. M. Girvin, R. J. Schoelkopf, and R.-S. R.-S. Huang, Nature , 162 (2004), URL http://dx.doi.org/10.1038/nature02851 .[31] L. M. K. Vandersypen and I. L. Chuang, Reviews of Mod-ern Physics , 1037 (2005), URL http://link.aps.org/doi/10.1103/RevModPhys.76.1037 .[32] M. H. Devoret, in Quantum Fluctuations , edited byS. Reymaud, E. Giacobino, and J. Zinn-Justin (ElsevierInc., New York, 1997), chap. 10, pp. 351–386.[33] S. Richer, Ph.D. thesis, RTWH - Aachen (2013), URL .[34] S. M. Girvin, in
Quantum Machines: Measurementand Control of Engineered Quantum Systems (Ox-ford University Press, 2014), ISBN 9780199681181,URL https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199681181.001.0001/acprof-9780199681181-chapter-3 .[35] U. Vool and M. H. Devoret, International Journal ofCircuit Theory and Applications , 897 (2017), URL http://arxiv.org/abs/1610.03438 .[36] P. Krantz, M. Kjaergaard, F. Yan, T. P. Orlando, S. Gus-tavsson, and W. D. Oliver, Applied Physics Reviews , 1 (2019), URL https://aip.scitation.org/doi/10.1063/1.5089550 .[37] R. Winkler, Spin-Orbit Coupling Effects in Two-Dimensional Electron and Hole Systems (Springer,2003).[38] E. Magesan and J. M. Gambetta, Physical Review A (2020).[39] M. Malekakhlagh, E. Magesan, and D. C. McKay,
First-principles analysis of cross-resonance gate operation ,2005.00133, URL http://arxiv.org/abs/2005.00133 .[40] S. Sheldon, E. Magesan, J. M. Chow, and J. M.Gambetta, Physical Review A , 060302 (2016),URL https://link.aps.org/doi/10.1103/PhysRevA.93.060302 .[41] D. C. McKay, C. J. Wood, S. Sheldon, J. M.Chow, and J. M. Gambetta, Physical Review A , 1 (2017), URL https://journals.aps.org/pra/abstract/10.1103/PhysRevA.96.022330 .[42] A. Kohnle, M. Douglass, T. J. Edwards, A. D. Gillies,C. A. Hooley, and B. D. Sinclair, European Journalof Physics , 1441 (2010), URL https://doi.org/10.1088%2F0143-0807%2F31%2F6%2F010 .[43] C. Cantwell, Quantum Chess: Developing a Mathemat-ical Framework and Design Methodology for CreatingQuantum Games (2019), arXiv:1906.05836, URL arXiv:1906.05836 .[44] L. Nita, L. Mazzoli Smith, N. Chancellor, and H. Cram-man,
The challenge and opportunities of quantum liter-acy for future education and transdisciplinary problem-solving (2019), 1906.05836, URL http://arxiv.org/abs/1906.05836 .[45] I. Heider, H. Bendl, J.-R. Lahmann, and F. Moerike, in
Games and Learning Alliance. GALA 2020. (Springer,Cham, 2020).[46] J. Wootton, in
Proceedings of GSGS’17 (2017), URL https://arxiv.org/abs/1712.09649 .[47]
Thebe documentation , URL https://thebelab.readthedocs.io/en/latest .[48] ipywidgets documentation , URL https://ipywidgets.readthedocs.io/en/latest/ .[49] J. Wootton,
Hello Quantum: Taking your first steps intoquantum computation (2018), URL https://medium.com/qiskit/hello-quantum-2c1c00fe830c .[50] D. Renton, The Computer Games Journal , 1 (2016),URL https://doi.org/10.1007/s40869-015-0016-6 .[51] S. Sentance, J. Waite, S. Hodges, E. MacLeod, andL. Yeomans, ”Creating Cool Stuff” - Pupils’ experienceof the BBC micro:bit (2017).[52] PewPew Documentation , URL https://pewpew.readthedocs.io .[53]
PICO-8 Homepage , URL .[54] J. R. Wootton, in (2020), pp. 73–80.[55] J. R. Wootton (Association for Computing Ma-chinery, New York, NY, USA, 2020), FDG ’20,ISBN 9781450388078, URL https://doi.org/10.1145/3402942.3409600https://doi.org/10.1145/3402942.3409600