Quantum computing is an emerging field that promises to revolutionize various domains, such as simulation optimization, data processing, and more, by leveraging the principles of quantum mechanics. This paper outlines innovative pedagogical strategies developed by university lecturers in Fin-land and Spain for teaching quantum computer programming and quantum software engineering. Our curriculum integrates essential tools and methodologies such as containerization with Docker, Qiskit, PennyLane, and Ocean SDK to provide a comprehensive learning experience. The approach consists of several steps, from introducing the fundamentals of quantum mechanics to hands-on labs focusing on practical use cases. We believe quantum computer programming is an important topic and one that is hard to teach, so having a teaching agenda and guidelines for teaching can be of great help.
Quantum computing is an emerging field that promises to revolutionize various domains, such as simulation optimization, data processing, and more, by leveraging the principles of quantum mechanics. This paper outlines innovative pedagogical strategies developed by university lecturers in Fin-land and Spain for teaching quantum computer programming and quantum software engineering. Our curriculum integrates essential tools and methodologies such as containerization with Docker, Qiskit, PennyLane, and Ocean SDK to provide a comprehensive learning experience. The approach consists of several steps, from introducing the fundamentals of quantum mechanics to hands-on labs focusing on practical use cases. We believe quantum computer programming is an important topic and one that is hard to teach, so having a teaching agenda and guidelines for teaching can be of great help.
Investments in quantum technologies, which are based on the effects of quantum mechanics, have escalated in recent years, with big players such as IBM, Google, and Microsoft engaging in the race for quantum supremacy. Some potential benefits of this cutting-edge technology include developing new drugs and materials through accurate molecule simulation, establishing more secure and reliable communication channels, and finding faster solutions for complex optimization problems. As quantum technologies evolve, however, the demand for new software, interfaces, and end-to-end systems to properly program and explore the advantages of quantum mechanics becomes paramount. This requires engineers, especially software engineers, and computer scientists, to have multidisciplinary knowledge and skills. Unfortunately, introductory quantum computing and technologies courses are mostly available in physics, and most engineering and computer science courses do not have modules on quantum physics, leading to a talent gap in the current job market. Therefore, this paper proposes a short teaching plan for introducing quantum computing to students with a more technology-based background, such as computer science and engineering students. This plan uses active learning methodologies, such as Challege-Based Teaching, to better engage these students and contextualize the many applications of this new technology. The initial teaching plan consists of a 3-hour seminar introducing the main quantum mechanics concepts and the technology applications, a 3-hour introduction to the math fundamentals and quantum logic gates, and a 3-hour handson workshop using the IBM Qiskit platform. Two versions of this plan were executed in two different moments: (1) a one-day event open to undergraduate students from different institutions and backgrounds, and (2) a 3-day internal training course for computer science and information technology management undergraduate students from our higher education institution. Data was collected during both events through online forms and interviews to measure the learning outcomes of the produced material and better understand the public interest in the field. The results identified key elements for better teaching quantum computing for computer scientists and engineers, providing guidelines for developing a more extensive and term-long teaching plan for undergraduate technology courses.
Quantum computing harnesses quantum laws of nature to enable new types of algorithms, not efficiently possible on traditional computers, that may lead to breakthroughs in crucial areas like materials science and chemistry. There is rapidly growing demand for a quantum workforce educated in the basics of quantum computing, in particular in quantum programming. However, there are few offerings for non-specialists and little information on best practices for training computer science and engineering students. In this report we describe our experience teaching an undergraduate course on quantum computing using a practical, software-driven approach. We centered our course around teaching quantum algorithms through hands-on programming, reducing the significance of traditional written assignments and relying instead on self-paced programming exercises ("Quantum Katas''), a variety of programming assignments, and a final project. We observed that the programming sections of the course helped students internalize theoretical material presented during the lectures. In the survey results, students indicated that the programming exercises and the final project contributed the most to their learning process. We describe the motivation for centering the course around quantum programming, discuss major artifacts used in this course, and present our lessons learned and best practices for a future improved course offering. We hope that our experience will help guide instructors who want to adopt a practical approach to teaching quantum computing and will enable more undergraduate programs to offer quantum programming as an elective.
As quantum computers are becoming available for experiments, their enormous potential is being recognized among college communities. The goal of introducing quantum computing in college level computer science programs is becoming attractive. However, this goal comes with opportunities and challenges. of the challenges is that quantum computing appears to require substantial background in physics as well as in computer science. However, it is hard to convince students to major in these two fields. Computer Science students with a minor in physics can also be considered. Several alternative curriculum structures are possible. A non-consecutive two-course framework is proposed here. A course on Introduction to Quantum Computing may be offered to sophomore level students. This introductory course may teach fundamental ideas about quantum computing with basic concepts behind BQP (Bounded Error Quantum Polynomial) and related topics. This introductory course may be followed up by some physics courses (on related topics such as quantum mechanics) and some computer science courses. Then, a senior level course on Advanced Quantum Computing may be offered that may include some well-known algorithms (such as Shor's Algorithm for Quantum Factorization and Grover's Algorithm for Quantum Search) and their implementation and practices on some simulators (such as QuIDE from http://www.quide.eu/) or some prototype quantum processors (such as IBM's prototype quantum processors). For advanced level courses, some course materials are available from various sources (such as MIT OpenCourseWare). The greater challenge would be in teaching the introductory course mentioned earlier that motivates students towards investing time and efforts in learning quantum computing and related physics, math and computational topics. The challenges of teaching the introductory course should not be underestimated. Some flexible strategies can be suggested for this course so that the biggest challenges can be overcome. Some initial assessments of the students may help adjusting the introduction strategies with student's preparation. What is recommended is that the instructor should be able to adjust the coverage of topics, rigor and depth of treatment. That is, the introductory course should not be rigidly defined. It should be recognized that the main emphasis of the introductory course is actually instilling motivations and curiosity in student's mind about potentials of quantum computing through adaptive teaching of some selected topics where traditional digital computers do not provide tractable solutions. Ideally a balance could be achieved among aspects of depth of treatment, rigor, inspiration, motivation and coverage of topics. Students should be able to realize that the emerging quantum computing technology would be able to provide elegant solutions to some of the classical intractable problems combining ideas from physics, math and computer science in an innovative way. One size fits all is not a good approach and discussion of issues may help us face the challenges better by pragmatically considering a range of possible alternatives. Resources that are currently available may also need to be reviewed for the purpose of introducing quantum computing adequately.
Quantum computing is an interdisciplinary field that spans physics, mathematics, computer engineering, and computer science. Teaching quantum computing effectively within a constrained timeframe presents a challenge, particularly for engineering students with diverse academic backgrounds. This paper presents an approach to integrating quantum computing into a broader course on Technologies of Computing Systems (TCS) through a dedicated two-week module. The course structure combines lectures, interactive problem-solving, lab exercises, and a hands-on project to ensure an engaging and practical learning experience. The curriculum covers fundamental quantum computing principles, quantum gates, circuits, algorithms, and quantum technology. Assessment includes project work, exams, and student feedback, demonstrating increased engagement and comprehension. The results indicate that this quantum computing module successfully bridges the gap between classical and quantum paradigms, fostering student interest and understanding within a short period.
Quantum computing is aninterdisciplinary field that lies at the intersection of mathematics, quantum physics, and computer science, and finds applications in areas including optimization, machine learning, and simulation of chemical, physical, and biological systems. It has the potential to help solve problems that so far have no satisfying method solving them, and to provide significant speedup to solutions when compared with their best classical approaches. In turn, quantum computing may allow us to solve problems for inputs that so far are deemed practically intractable. With the computational power of quantum computers and the proliferation of quantum development kits, quantum computing is anticipated to become mainstream, and the demand for a skilled workforce in quantum computing is expected to increase significantly. Therefore, quantum computing education is ramping up. This article describes our experiences in designing and delivering quantum computing workshops for youth (Grades 9–12). We introduce students to the world of quantum computing in innovative ways, such as newly designed unplugged activities for teaching basic quantum computing concepts. We also take a programmatic approach and introduce students to the IBM Quantum Experience using Qiskit and Jupyter notebooks. Our contributions are as follows. First, we present creative ways to teach quantum computing to youth with little or no experience in science, technology, engineering, and mathematics areas; second, we discuss diversity and highlight various pathways into quantum computing from quantum software to quantum hardware; and third, we discuss the design and delivery of online and in-person motivational, introductory, and advanced workshops for youth.
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.