CSE622 Introduction to Quantum Computing Winter 2023

This is an introductory course about designing solutions for computation problems using the quantum computing models. It has been shown that these models allow us to solve certain problems more efficiently compared to classical platforms (like Digital circuits or Turing machines). On the other hand, there are certain scenarios where this model is siimlar or even worse than classical platforms. In this course a student will learn about the models and interesting solutions (circuits, algorithms) for some problems from the perspective of computer science. The first half of the course will introduce the postulates of quantum computing, operations and operators and basic structure of circuits and algorithms on the circuit model and the Turing machine model. We will also cover some simple but amazing solutions like quantum teleportation, super-dense coding and Deutsch-Jozsa algorithm. The second half of the course will cover important algorithmic tools like the quantum Fourier transformation, amplitude amplification and eigenvalue estimation and discuss important algorithms like Grover’s search, Shor's factoring, BB84 protocol which bring significant efficiency compared to classical algorithms. Depending upon time and interest, some recent advances will be covered. Students may have to read a recent/classical research paper and/or simulate some of their algorithms and circuits on some quantum backend (e.g., IBM quantum computer) to get a better feel about the system.


All of the following are strict requirements. The course relies heavily on linear algebra and algorithms.
You are expected to comfortable with the following prior concepts:
Complex numbers, Taylor expansion, Linear algebraic concepts like Vector space, Vectors and matrices over complex numbers, Basis, Inner product, norm, Linear operators, Types of operators: Normal, Hermitian, Unitary, Eigenvector & eigenvalues, Conditional probability, Union bound.
If you are not familiar or comfortable with these concepts, then you must do a self-study before joining the course (you are recommend to solve a few problems in those concepts from any textbook; mere reading of concepts may not provide sufficient depth); this book chapter explains the linear algebraic concepts suitable for quantum computation in one place.

Course Objectives

  1. Understand the principles of quantum computing.
  2. Understand different quantum computing models used in different applications like search, numerical algorithms, cryptography, etc.
  3. Design and/or analyse quantum algorithms and circuits.
  4. Explain and/or implement simple algorithms and circuits from research papers.

Evaluation Policy

Evaluation will be based on in-class short online quizzes (to be taken during lectures), homeworks, closed-book proctored midsem and endsem exams, and project/survey. Exact details will be finalised later.

Course Personnel and Office Hours

All office hours will take place on the Meet Link given on Classroom.

Debajyoti Bera - dbera@ - TBA (email me if you want meet at some other time)
Sagnik Chatterjee - sagnikc@ - TBA

Weekly Schedule

  1. Linear algbraic representation of single qubit systems
  2. Linear algbraic representation of single qubit operations
  3. Elitzur-Vaidman bomb tester
  4. Multi-qubit quantum systems & simple protocols
  5. Simple algorithms and subroutines
  6. Quantum circuit model for algorithms & Hamiltonian simulation
  7. First generation quantum algorithms
  8. Quantum Fourier transform and corresponding algorithms
  9. Quantum Fourier transform and corresponding algorithms
  10. Amplitude amplification and corresponding algorithms
  11. Amplitude amplification and corresponding algorithms
  12. Amplitude estimation and corresponding algorithms
  13. Hamiltonian Simulation
  14. Variational circuits & quantum annealing


  1. HW1 (single qubit systems)
  2. HW2 (quantum circuit)
  3. HW3 (quantum algorithms)
  4. HW4 (QFT)
  5. HW5 (Hamiltonian based algorithms)