Controlling Quantum Systems For Quantum Information Processing