12.1 Quantum concepts in review12.1.1 Quantum readiness12.1.2 Quantum advantage and its limitations12.2 Building quantum software and running on real quantum computers12.2.1 The importance of a fast, flexible quantum simulator12.2.2 Source-level compatibility between Hume and Qiskit12.2.3 Running on real quantum hardware12.2.4 Quantum assistant12.3 Revisiting quantum gates and the butterfly pattern12.3.1 Another look at single-qubit gates and the butterfly pattern12.4 Quantum states as an image12.4.1 Visualizing quantum state evolution12.5 Combinatorial optimization problems12.5.1 Encoding polynomials with noninteger coefficients12.5.2 Shor’s factorization algorithm