Quantum Computing has seen rapid progress in recent years, with advances in both hardware and software enabling exploration of near-term applications on current quantum devices.nnThis course is structured into three parts. Part 1 introduces the fundamental concepts of quantum computation, including superposition, entanglement, and the quantum circuit model. Part 2, which forms the core of the course, covers key quantum algorithms such as Deutsch, Deutsch-Jozsa, Shor’s and Grover’s Algorithms, along with their analysis, computational advantages, and practical implementation constraints on current quantum hardware. Part 3 begins with quantum error correction, motivated by the limitations encountered in implementing these algorithms, and then transitions to NISQ-era approaches such as variational quantum algorithms and introductory concepts in quantum machine learning, as time permits.nnFrom a programming perspective, the course includes hands-on work using frameworks such as Cirq and Qiskit for designing and simulating quantum circuits, with exposure to hybrid quantum-classical approaches. The project component encourages students to explore and develop quantum solutions to problems of interest.nnThe course is taught from a computer science/engineering perspective. No formal knowledge of quantum physics is required, though background in linear algebra is essential.

