Qiskit Global Summer School 2024: Quantum Computing and Simulation
IBM Quantum Research Team
Python is the working language of quantum computing. Every major framework -- Qiskit, PennyLane, Cirq, and PyQuil -- is Python-first. These are the top-rated courses for learning quantum computing through Python, ranked by rating.
No other language comes close to Python's dominance in the quantum computing ecosystem. IBM built Qiskit in Python. Xanadu built PennyLane in Python. Google's Cirq is Python. Rigetti's PyQuil is Python. This convergence is not accidental -- Python's scientific computing stack (NumPy, SciPy, Matplotlib, Jupyter) makes it the natural environment for the linear algebra, simulation, and visualization that quantum computing requires.
Jupyter notebooks are particularly well suited to quantum learning. You can write a circuit, execute it against a simulator, plot the results, and annotate what you're seeing -- all in a single document. Every major platform provides Jupyter-compatible tutorials and textbooks, so getting started requires no special setup beyond a standard Python installation.
The practical consequence for learners is that there is more Python quantum content -- more courses, more tutorials, more open-source examples -- than for any other language. Whether you are a complete beginner or an experienced developer, Python is the right starting point.
The honest answer depends on your goals, but Qiskit is the right default for most learners. It has the most courses, the most active community, the most complete documentation, and it gives you direct access to IBM's fleet of real quantum hardware. If you do not have a specific reason to use another framework, start with Qiskit.
PennyLane is the best choice if your interest is quantum machine learning. It is built around automatic differentiation and integrates with PyTorch and TensorFlow, making it a natural fit for researchers who want to train quantum-classical hybrid models. Xanadu, the company behind PennyLane, also offers strong free learning resources through the PennyLane Codebook.
Cirq is Google's framework and is the primary tool for researchers working with Google quantum hardware or studying the algorithms that Google's team publishes. It is more research-oriented and assumes more background than Qiskit, but the documentation is thorough.
PyQuil is used in the Rigetti ecosystem. It has a smaller community than the others, and Rigetti's hardware access program has changed over time, so it is generally not the best starting point unless you have a specific reason to work with Rigetti systems.
Basic Python is enough to start. If you can write a function, use a loop, and work with lists and dictionaries, you have the foundation for beginner quantum courses. Most courses introduce the quantum-specific library features as they go, so you are not expected to know Qiskit or PennyLane before you begin.
NumPy is helpful but not required. Quantum states are represented as vectors and matrices, and numpy is the standard tool for working with those, but most beginner courses abstract that away behind library calls. You will see NumPy in intermediate courses when you start looking at statevectors directly or implementing custom gates.
Complex numbers appear frequently in quantum mechanics, but you do not need to be fluent in complex analysis before starting. Most introductory courses treat complex amplitudes informally at first, building intuition before introducing the mathematics. If you want to go deeper into the theory, brushing up on complex numbers and basic linear algebra will pay off as you progress.
Courses using Qiskit, PennyLane, Cirq, or PyQuil -- ranked by rating
IBM Quantum Research Team
Xanadu / PennyLane Team
IBM Quantum / Qiskit Team
Xanadu
Xanadu / Community
Xanadu / QOSF Community
Google Quantum AI
IBM Quantum
IBM Quantum
IBM Quantum Community
Hasso Plattner Institute / IBM Quantum Research
IBM Quantum
A concrete project to run before starting a course.
Use a Hadamard gate and measurement to generate truly random bits -- numbers that are not computed from a seed but decided by quantum measurement. Covers single-bit QRNG, multi-byte output, rejection sampling for arbitrary ranges, and how to run on real IBM hardware.