Fundamentals of Quantum Computing
Quantum Programming
Currently, technological developments in this field continue through many start-up companies, and four giant companies of the private sector are making major investments in quantum computing and quantum computers. This can be considered a simple clue that this field has a huge workforce potential. There are many departments where physicists can find a field of study in this field. For example, the hardware deficiencies of quantum computers can only be overcome by solving basic experimental physics problems. At this point, developments occur in the form of the experimental mechanisms potentially offered by theoretical and computational physics being implemented by physicists and, in some scenarios, electrical and electronics engineers. When we look at the software part, circuit level programming is still done in quantum computers. In order to move this level to the next level, physicists and software engineers are currently working closely together.
Below you can find the current work of four companies, all of which are world giants, in the field of quantum computing and quantum computers.
Syllabus for Fundamentals of Quantum Computation
This course is an introductory level course on the fundamentals of quantum computing.
The main material consists of Jupyter notebooks, and the preparation of these notebooks was inspired by the workshops of the QWorld community called Bronze, Nickel and Silver. In addition to the algorithms mentioned in these workshops, other algorithms and the hardware of existing quantum computers will also be covered in this course.
Prerequisites
In order to get the most out of this course, knowledge on both Python programming language and quantum mechanics is a must. For the programming part, it is sufficient to know the Python language enough to be able to use variables, basic data types, loops and conditions. If you have no experience with the Python language, you can follow the Python notebooks presented in the material on github. For the quantum mechanics foundation, it will be sufficient to be able to manipulate two-state quantum systems in Dirac notation. Apart from these two prerequisites, knowledge on matrix algebra will make the learning process easier for the student.
Before the first lecture
Lecture notes are prepared as Jupyter notebooks and stored in a repo on the github organization of Marmara University, Physics Department. As a first step, you should send a request to join the of the lecture, here.
There are several options to follow the notebooks. In order to study locally, you should install the Anaconda on your computer along with Qiskit and Cirq libraries. You can find the instructions here. Then you should clone (or download) the repo to your local and run them via anaconda server.
Another way to follow the notes is to employ a suitable cloud application to run Jupyter notebooks. Google Colab or QBraid to name a few, but you have freedom of choice here. However, the important point is that the notebooks should run properly.
After these preparations, the notebook named "Start_here" can be opened and all materials can be accessed.
During the semester
The main sections that will be covered in this course are listed below. The amount of self-study time a student should allocate for each section is 2-3 hours.
Quantum programs as circuits, Quantum bits
Quantum states, Superposition & measurement
Quantum operators, rotations and reflections
Two qubits, phase kickback, entanglement, superdense coding
Quantum teleportation, Multiple control constructions
Conventional Quantum Algorithms
Quantum Hardware: Current Status and Open Research Areas
Combinatorial Optimization Problems (COPs)
Quantum Approximate Optimization Algorithm (QAOA)
QAOA Applications to Scientific COPs: Magnetic Materials
QAOA Applicationsto Industrial COPs: Knapsack Problem
QAOA Student Projects
Resources
Lecture notes on GitHub
IBM Qiskit Textbook
Google Cirq Tutorials
Success conditions
In this course, there will be 1 midterm exam, 1 semester projects and several homeworks during the semester and 1 final exam at the end of the semester. The formulas for the pass grade are as follows:
Midterm Grade = 0.3 * Midterm Exam Grade + 0.35 * Mean of the Homework Grades + 0.35 * Semester Project Grade
Final Grade = Final Exam Grade
Passing Grade = 0.6 * Midterm Grade + 0.4 * Final Grade
Homeworks will be sent to the student via the Canvas system, and the student will be expected to complete this assignment within declared time. In order for a homework to be considered completed, at least 25 points out of 100 must be received from the assignment. The student may redo the homeworks an unlimited number of times within the allowed time period. The latest score obtained in these attempts will be evaluated as the student's homework grade. The grade of assignments for which at least 25 points cannot be obtained within the defined period will be considered as 0 points.
Sample Homework Question:
Let's say you have a rigged coin where the probability of getting heads is 0.8. Which of the following results are you likely to get when you throw this coin 1000 times? (8 points)
a. Heads: 802, Heads: 198
b. Heads: 502, Heads: 498
c. Heads: 320, Heads: 980
d. Heads: 203, Heads: 797
In addition to test questions, assignments include fill-in-the-blank questions, multiple-choice questions, true-false questions, code snippet writing questions, etc. There will also be questions.
"Quantum Computing & Quantum Information" konusunda 45 dk.'lık bir tanıtım konuşması için hazırlanmış sunumu aşağıda bulabilirsiniz.
Ek Konular
Aşağıda listelenmiş olan konular dönem sonunda ders saati kalması durumunda işlenecektir.
Kuantum Bilgisayar Donanımı
Kuantum Sayma
Kuantum Rota Bulma
Kuantum Anahtar Dağıtımı
HHL Algoritması ile Lineer Denklem Sistemi Çözme
VQE Algoritması ile Molekül Simülasyonu
QAOA ile Kombinasyonel Optimizasyon Problemleri Çözümü
Hibrid Kuantum-Klasik Sinir Ağları
Varyasyonel Kuantum Lineer Denklem Çözücü
Kuantum Görüntü İşleme
Kuantum Ayrıt Saptama
Faz Tahmini ile Gezgin Satıcı Problemini Çözme