QWorld's Bronze-Qiskit
Bronze is our introductory tutorial on quantum computing and quantum programming created in October 2018.
Bronze-Qiskit is the version of Bronze using Qiskit as the quantum programming framework. It was released in February 2021 with the support of IBM Quantum.
Bronze is a collection of Jupyter notebooks, and each notebook has many programming tasks to provide hands-on experiences. We see Bronze as a laboratory where you can learn the basics of quantum computing and quantum programming by doing. Bronze has already been used in more than 50 workshops (the most recent list) under QWorld. As a pedagogical strategy, we skip to use complex numbers to keep the tutorial simpler.
The only prerequisite is to know the basics of programming (variables and basic data types, loops, and conditionals). Any previous experience in python will be helpful. If you do not have any such experince, you can check our notebooks on python before starting the tutorial.
Bronze also has notebooks on the basic math to review your knowledge on the simple arithmetic operations on vectors and matrices.
- Python (for a quick review)
- Basic math (for a quick review)
- Classical systems: bits, coin-flipping, probabilistic state and operators, composite systems, correlation, and controlled operators
- Quantum systems with Qiskit
- Qiskit basics: circuit design, visualization, and simulation
- quantum basics: quantum coin-flipping and Hadamard operator, quantum states and opeators, visualization of a real-valued qubit, superposition and measurements
- quantum operators on a real-valued single qubit (rotations and reflections) and quantum tomography
- entanglement and basic quantum protocols superdense coding and quantum teleportation
- Grover's search algorithm
Our following elementrary level tutorial Silver is under revision now, and we will start to prepare the advanced level tutorial Gold in 2021.
Please make a pull request or create an issue for reporting typo or your corrections.
Please create an issue for your questions, initiating a discussion, or proposing a contribution.
Bronze is being developed under QEducation departmant of QWorld.
Follow the instructions given in the installation file!
Using Binder: You may launch Bronze in the cloud with binder but please be aware of that
- each time a new session is created, which takes some time to be initiated, and all changes are lost when ending the session; and,
- the session might be terminated if a new tab is not opened within 10 minutes.
The text and figures are licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0), available at https://creativecommons.org/licenses/by/4.0/legalcode.
The code snippets in the notebooks are licensed under Apache License 2.0, available at http://www.apache.org/licenses/LICENSE-2.0.
We use MathJax to display mathematical expressions on html files (e.g., exercises).
We use open source interactive tool quantumgame for showing quantum coin flipping experiments.
Bronze was created by Abuzer Yakaryilmaz (QWorld & QLatvia) in October 2018, and it has been developed and maintained by him.
Özlem Salehi Köken (QWorld & QTurkey) and Maksims Dimitrijevs (QWorld & QLatvia) are the other contributors by preparing new notebooks and revising the existing notebooks.
Bronze was publicly available on July 7, 2019.
Bronze-Qiskit was released by Abuzer Yakaryilmaz in February 2021.
The recording lectures were prepared by Abuzer Yakaryilmaz, Özlem Salehi Köken, and Anastasija Trizna (QLatvia) in August 2020. New recordings will be uploaded in Spring 2021.
Agnieszka Wolska prepared the new graphics and logos.
We thank to the participants of QBronze workshops and QTraining for Bronze program for their corrections and suggestions.
We thank to the mentors and participants of QDrive for their very helpful corrections and suggestions.
We thank Adam Glos (QWorld & QPoland) for his comments on Bronze 2018.
We thank to Katrina Kizenbaha from Riga TechGirls for her revisions on our notebooks on python.
We thank to Martins Kalis (QLatvia) for his technical comments on python, qiskit, and our notebooks.
We thank to Maksims Dimitrijevs (QLatvia) for his careful reading and corrections on our notebooks.
We thank to QLatvia's first members Martins Kalis, Maksims Dimitrijevs, Aleksejs Naumovs, Andis Draguns, and Matiss Apinis for their help and support.
We thank to the students of Faculty of Computing (University of Latvia) attending quantum programming's meetings on each Friday (Fall 2018) for their comments while working with our notebooks.