This part of the book helps set the stage for the rest of our quantum journey. In chapter 1, we gain more context about quantum computing, the approach to learning quantum computing in this book, and where we can expect to use this to apply the skills we learn. In chapter 2, we start getting into writing code by developing a quantum simulator in Python. We then use the simulator to program a quantum random number generator. Next, in chapter 3, we extend the simulator to program cryptographic applications of quantum technology, such as the BB84 quantum key exchange protocol. In chapter 4, we use nonlocal games to learn about entanglement and extend the simulator once again to support multiple qubits. In chapter 5, we learn how to use a new Python package to help implement quantum strategies for playing the nonlocal games from chapter 4. Finally, in chapter 6, we extend the simulator one last time, adding new quantum operations so that we can simulate techniques like quantum teleportation and practice moving data in our quantum devices.