Quantum Computing And Communication Fundamentals