Skip to main content
Log in

Experience in teaching quantum computing with hands-on programming labs

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

As the field of quantum computing rapidly advances, there is a growing demand for skilled professionals adept in quantum computing and programming. Recognizing this need, in this paper, we share our experiences teaching an introductory-level quantum computing course to students at Cleveland State University (CSU). The course integrates dedicated hands-on programming labs, allowing students to verify their experimental results with corresponding examples from the textbook. These labs cover a diverse range of topics, including fundamental elements such as quantum gates and circuits, quantum key distribution protocols, and quantum algorithms. As educators, our goal is to share teaching insights and resources with fellow instructors in the field. This article elucidates the rationale behind the design of each experiment, providing a deeper understanding of quantum computing.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32
Fig. 33
Fig. 34
Fig. 35
Fig. 36

Similar content being viewed by others

References

  1. Kiper J (2022) CSE 470N course syllabus. Miami University, Spring, Oxford

    Google Scholar 

  2. Bernhardt C (2020) Quantum computing for everyone. The MIT Press, Cambridge

    Google Scholar 

  3. Deutsch D (1985) Quantum theory, the Church-Turing Principle and the universal quantum computer. In: Proceedings of the Royal Society of London, Series A

  4. Deutsch D, Jozsa R (1992) Rapid solutions of problems by quantum computation. In: Proceedings of the Royal Society of London, Series A

  5. Mykhailova M, Svore KM (2020) Teaching quantum computing through a practical software-driven approach: experience report. In: SIGCSE’20: The 51st ACM Technical Symposium on Computer Science Education

  6. Ernst A. An overview of Quantum Comp. Frameworks. https://www.ginkgo-analytics.com/an-overview-of-quantum-computing-frameworks/ Last accessed 21 July 2023

  7. Cleveland Clinic. Quantum Computing. https://my.clevelandclinic.org/research/computational-life-sciences/discovery-accelerator/quantum-computing Last accessed 10 June 2023

  8. IBM. Quantum System One. https://www.ibm.com/quantum/systems Last accessed 10 Apr 2023

  9. Cleveland State University. News and Announcements: CSU will undertake joint interdisciplinary research and education with the Cleveland Clinic. https://www.csuohio.edu/news/ibm-quantum-system-one-debuts-clinic-joint-research-horizon Last accessed 10 Apr 2023

  10. Qiskit. Qiskit Textbook. https://qiskit.org/learn Last accessed 10 June 2023

  11. Qiskit. Quantum Computing Labs. https://qiskit.org/learn/course/quantum-computing-labs Last accessed 10 June 2023

  12. Yanofsky NS, Mannucci MA (2008) Quantum computing for computer scientists. Cambridge University Press, Cambridge

    Book  Google Scholar 

  13. Sang J, Yu C. Hands-on Quantum Programming Labs for EECS Students. https://arxiv.org/pdf/2308.14002.pdf Last accessed 29 Sept 2023

  14. Grover LK (1996) A fast quantum mechanical algorithm for database search. In: Proceedings of the 28th Annual ACM Symposium on the Theory of Computing

  15. Simon DR (1997) On the power of quantum computation. SIAM J Comput. https://doi.org/10.1137/S0097539796298637

    Article  MathSciNet  Google Scholar 

  16. Shor PW (1994) Algorithms for quantum computation: discrete logarithms and factoring. In: Proceedings of the 35th Annual Symposium on Foundations of Computer Science, IEEE Computer Society

  17. Combarro EF, Vallecorsa S, Rodríguez-Muñiz LJ, Aguilar-González A, Ranilla J, Di Meglio A (2021) A report on teaching a series of online lectures on quantum computing from CERN. J Supercomput 77:14405–14435

    Article  Google Scholar 

  18. Carrascal G, del Barrio A, Botella G (2021) First experiences of teaching quantum computing. J Supercomput 77:2770–2799

    Article  Google Scholar 

  19. Salehi Ö, Seskir Z, Tepe İ (2022) A computer science-oriented approach to introduce quantum computing to a new audience. IEEE Trans Educ 65:1–8

    Article  Google Scholar 

  20. Brilliant, https://brilliant.org/ Last accessed 09 Feb 2024

  21. Cardetti F, Khamsemanan N, Orgnero MC (2012) Insights regarding the usefulness of partial notes in mathematics courses. J Scholarsh Teach Learn 10(1):80–92

    Google Scholar 

  22. The Jupyter Notebook. User Documentation. https://jupyter-notebook.readthedocs.io/en/stable/notebook.html Last accessed 10 June 2023

  23. IBM Quantum. Develop quantum experiments in IBM quantum lab. https://quantum-computing.ibm.com/ Last accessed 10 June 2023

  24. Yu N, Duan R, Ying M (2013) Five two-qubit gates are necessary for implementing the Toffoli gate. Phys Rev A 88:010304

    Article  ADS  Google Scholar 

  25. Nation P, Paik H, Cross A, Nazario Zaira. The IBM Quantum heavy hex lattice. https://research.ibm.com/blog/heavy-hex-lattice Last accessed 10 Dec 2022

  26. Zulehner A, Paler A, Wille R (2019) An efficient methodology for mapping quantum circuits to the IBM QX architectures. In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pp 1226–1236

  27. Itoko T, Raymond R, Imamichi T, Matsuo A (2020) Optimization of quantum circuit mapping using gate transformation and commutation. Integration 70:43–50

    Article  Google Scholar 

  28. Raymond R. The Simon Algorithm. https://notebook.community/antoniomezzacapo/qiskit-tutorial/community/algorithms/simon_algorithm Last accessed 22 July 2022

  29. Johnston E, Harrigan N, Gimeno-Segovia M (2019) Programming quantum computers. O’Reilly Media Inc, Sebastopol

    Google Scholar 

  30. Danski14. Own work, CC BY-SA 3.0. https://commons.wikimedia.org/w/index.php?curid=18415805 Last accessed 10 Aug 2023

  31. Nielsen M, Chuang I (2010) Quantum computation and quantum information. Cambridge University Press, Cambridge

    Google Scholar 

  32. Fu X, Riesebos L, Rol MA, van Straten Jeroen, van Someren J, Khammassi N, Ashraf I, Vermeulen RFL, Newsum V, Loh KKL, de Sterke JC, Vlothuizen WJ, Schouten RN, Almudever CG, DiCarlo L, Bertels K (2019) eQASM: an executable quantum instruction set architecture. In: IEEE Int’l Symposium on High Performance Computer Architectur (HPCA), pp 224–237

  33. Matsuo A. Grover’s algorithm examples: Finding solutions to 3-SAT problems. https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/algorithms/07_grover_examples.ipynb Last accessed 22 Dec 2022

  34. PennyLane, https://pennylane.ai/ Last accessed 06 Feb 2024

Download references

Acknowledgements

Our work was supported in part by Dr. Galetto’s NSF Grant DMS-2200844, Dr. López’s NSF Grants DMS-2201094 and DMS-2401558, and the Cleveland Innovation District grant funded by JobsOhio, a private non-profit corporation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Janche Sang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Galetto, F., López, H.H., Rahmati, M. et al. Experience in teaching quantum computing with hands-on programming labs. J Supercomput (2024). https://doi.org/10.1007/s11227-024-06001-3

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11227-024-06001-3

Keywords

Navigation