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.
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 report presents a practical approach to teaching quantum computing to Electrical Engineering & Computer Science (EECS) students through dedicated hands-on programming labs. The labs cover a diverse range of topics, encompassing fundamental elements, such as entanglement, quantum gates and circuits, as well as advanced algorithms including Quantum Key Distribution, Deutsch and Deutsch-Jozsa Algorithms, Simon's algorithm, and Grover's algorithm. As educators, we aim to share our teaching insights and resources with fellow instructors in the field. The full lab handouts and program templates are provided for interested instructors. Furthermore, the report elucidates the rationale behind the design of each experiment, enabling a deeper understanding of quantum computing.
Quantum parallelism arises from the ability of quantum qubits to exist in multiple states simultaneously due to superposition. It enables quantum computers to explore a vast number of possibilities in parallel, potentially solving complex problems exponentially faster than classical computers. Recently, there has been an increasing demand for skilled professionals with expertise in quantum computing and programming. This paper presents a practical approach to teaching quantum computing to Electrical Engineering & Computer Science (EECS) students through dedicated hands-on programming labs. The labs cover a diverse range of topics, encompassing fundamental elements, such as quantum gates and circuits, as well as quantum algorithms. As educators, we aim to share our teaching insights and resources with fellow instructors in the field. This article elucidates the rationale behind the design of each experiment, enabling a deeper understanding of quantum computing.
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.
Quantum computing education requires students to move beyond classical programming intuitions related to state, determinism, and debugging, and to develop reasoning skills grounded in probability, measurement, and interference. This paper reports on the design and delivery of a combined undergraduate and graduate course at Louisiana State University that employed a lab-integrated learning model to support conceptual change and progressive understanding. The course paired lectures with weekly programming labs that served as environments for experimentation and reflection. These labs enabled students to confront misconceptions and refine their mental models through direct observation and evidence-based reasoning. Instruction began with Quantum Without Linear Algebra (QWLA), which introduced core concepts such as superposition and entanglement through intuitive, dictionary representations. The course then transitioned to IBM Qiskit, which provided a professional framework for circuit design, noise simulation, and algorithm implementation. Analysis of student work and feedback indicated that hands-on experimentation improved confidence, conceptual clarity, and fluency across representations. At the same time, it revealed persistent challenges in debugging, reasoning about measurement, and understanding probabilistic outcomes. This paper presents the course structure, instructional strategies, and lessons learned, and argues that lab-integrated learning offers an effective and accessible approach to teaching quantum computing in computer science education.
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.
We present a practical course targeting graduate students with prior knowledge of the basics of quantum computing. The practical aims to deepen students' understanding of fundamental concepts in quantum computing by implementing quantum circuit simulators. Through hands-on experience, students learn about different methods to simulate quantum computing, including state vectors, density matrices, the stabilizer formalism, and matrix product states. By implementing the simulation methods themselves, students develop a more in-depth understanding of fundamental concepts in quantum computing, including superposition, entanglement, and the effects of noise on quantum systems. This hands-on experience prepares students to do research in the field of quantum computing and equips them with the knowledge and skills necessary to tackle complex research projects in the field. In this work, we describe our teaching approach and the structure of our practical, and we discuss evaluations and lessons learned.