Quantum Computing From The Ground Up