Quantum Computing : Fundamentals