Adventures in computer science : From Classical Bits to Quantum Bits.