Quantum computing for programmers This introduction to quantum computing from a classical programmers perspective is meant for students and practitioners alike. More than 25 fundamental algorithms are explained with full mathematical derivations and classical code for simulation using an open source code base developed from the ground up in Python and C++. After presenting the basics of quantum computing the author focuses on algorithms and the infrastructure to simulate them efficiently beginning with quantum teleportation superdense coding and Deutsch Jozsa. Coverage of advanced algorithms includes the quantum supremacy experiment quantum Fourier transform phase estimation Shors algorithm Grovers algorithm with derivatives quantum random walks and the Solovay Kitaev algorithm for gate approximation. Quantum simulation is explored with the variational quantum eigensolver quantum approximate optimization and the Max Cut and Subset Sum algorithms. The book also discusses issues around programmer productivity quantum noise error correction and challenges for quantum programming languages compilers and tools with a final section on compiler techniques for transpilation