Remarkable results from the last two decades have given evidence that computers based on quantum mechanical principles could profoundly alter the nature of information processing. Efficient algorithms for factoring integers, strategies for finding an entry in an unsorted database using a sublinear number of queries, techniques like teleportation and superdense coding, and provably secure schemes for cryptographic key distribution have demonstrated how differently quantum information behaves, and how these properties can be exploited to solve certain computational problems better than known classically. This course focuses on the computational aspects of quantum information processing. We develop a quantum model of computation out of the classical model, present the known paradigms of efficient quantum computation, and discuss their potential and limitations. Next we switch to communication and other interactive processes, including cryptographic ones. Time permitting and depending on the interests of the audience, we cover additional topics such as error correction and fault tolerance.