  We have taken significant steps towards the realization of a practical
quantum computer: using nuclear spins and magnetic resonance techniques at room
temperature, we provided proof of principle of quantum computing in a series of
experiments which culminated in the implementation of the simplest instance of
Shor's quantum algorithm for prime factorization (15=3x5), using a seven-spin
molecule. This algorithm achieves an exponential advantage over the best known
classical factoring algorithms and its implementation represents a milestone in
the experimental exploration of quantum computation. These remarkable successes
have been made possible by the synthesis of suitable molecules and the
development of many novel techniques for initialization, coherent control and
readout of the state of multiple coupled nuclear spins. Furthermore, we devised
and implemented a model to simulate both unitary and decoherence processes in
these systems, in order to study and quantify the impact of various
technological as well as fundamental sources of errors. In summary, this work
has given us a much needed practical appreciation of what it takes to build a
quantum computer. While liquid NMR quantum computing has well-understood
scaling limitations, many of the techniques that originated from this research
may find use in other, perhaps more scalable quantum computer implementations.
